您的位置:首页 > 数据库 > Oracle

Oracle插入或修改 报ORA-01704: 文字字符串太长

2015-06-11 12:40 686 查看
今天在操作数据库数据的时候,想要插入一条某个字段是一个很长的字符串(比如一篇文章)的数据,例如:

insert into article(id,title,content) values(1,'标题','长字符串');




update article set content = '长字符串' where id = 1;


在使用PL/SQL执行的时候,报ORA-01704: 文字字符串太长错误。

解决方案:

使用存储过程操作数据,如下:

declare
content clob;
begin
content := '长字符串';
insert into article(id,title,content) values(1,'标题',content );
update article set content = content  where id = 1;
end;


原因分析:sql在执行之前会把所有字符类型的数据转换成VARCHAR2类型,而VARCHAR2类型的最大长度为4000,所以当字符串超过这个长度就会转换失败。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Oracle ORA-01704