oracle更新clob字段遇到的坑

文章讨论了在Oracle数据库中更新CLOB字段时遇到的问题,如字段长度限制和特殊字符处理。方法1是直接更新,但对超过4000字符的字段会失败;方法2使用Replace函数,但无法适用于所有情况。对于非CLOB字段的更新,提供了一种查询方式。
摘要由CSDN通过智能技术生成

方法1  在字段不超过4000的情况下,用下面这个语句,如果字段超过4000,会报字符串长值过大,而且特殊字符处理也比较麻烦,比如&,只能拼接【'||'&'||' 】

DECLARE  
  clobValue MYTABLE.MyClobField %TYPE;  
BEGIN  
  clobValue := 'newFieldValue';
  UPDATE MYTABLE   SET MyClobField  = clobValue  WHERE  sid= 'sidValue';
  COMMIT;  
END;

方法2 使用 Replace(XMLString, 14, ‘My New text’)函数

UPDATE MYTABLE 
SET MyClobField = Replace(MyClobField, 14, 'newFieldValue')
WHERE  t.sid='sidValue'

另外 更新其他不是clob字段的方法

这种方法更新不了clob字段 

select t.*,t.rowid from MYTABLE t where t.sid='sidValue'

转载地址:

在Oracle中更新CLOB字段 |

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值