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

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,所以当字符串超过这个长度就会转换失败。

相关文章

Java Oracle 结果集是Java语言中处理数据库查询结果的一种方...
Java AES和Oracle AES是现代加密技术中最常使用的两种AES加密...
Java是一种广泛应用的编程语言,具备可靠性、安全性、跨平台...
随着移动互联网的发展,抽奖活动成为了营销活动中不可或缺的...
Java和Oracle都是在计算机领域应用非常广泛的技术,他们经常...
Java 是一门非常流行的编程语言,它可以运行于各种操作系统上...