前几天我在oracle中执行update语句的时候,报“string literal too lang”错误,根据字面意思,就是说该字段字符串太长了,可是这个字段的数据类型是clob类型,是可以容纳这个字符串的,然后在网上查到,即使该字段的数据类型可以容纳下该字符串,在执行sql语句的时候还是会进行校验,这里记录一下我的解决办法:
将要更新的字段信息放在匿名块中作为一个常量,然后再进行update字段信息
例如:
declare
c_clob clob:=''jsxsxnmnmnzxmnmzm...................................;
begin
update xxxx t set t.yy=v_clob where t.id='aa';
end;
希望可以对浏览的人有帮助,可能中间也有些许错误,望指正!