https://segmentfault.com/a/1190000002923350
今天在操作数据库数据的时候,想要插入一条某个字段是一个很长的字符串(比如一篇文章)的数据,例如:
insert into article(id,title,content) values(1,'标题',68)">'长字符串');
或
update article set content = '长字符串' where id = 1;
在使用PL/sql执行的时候,报ORA-01704: 文字字符串太长错误。
解决方案:
使用存储过程操作数据,如下:
declare
content clob;
begin
content := '长字符串';
insert into article(id,content );
update article set content = content where id = 1;
end;
原因分析:sql在执行之前会把所有字符类型的数据转换成VARCHAR2类型,而VARCHAR2类型的最大长度为4000,所以当字符串超过这个长度就会转换失败。
原文地址:https://www.jb51.cc/oracle/208009.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。