如何通过sql的insert语句插入大量字符串到oracle的clob字段?
1个回答
展开全部
ORA-01489: 字符串连接的结果过长
虽然字段是clob,足以存储,但是通过这种直接插入的时候,因为没有强制指定带插入字符串为clob类型,
oracle会把插入的字符串作为 字符串类型处理,由于oracle有最大字符串限制(不超过4000个字符),所以会报错。
解决思路:指定待插入字符串类型为clob
,可以使用过程或存储过程例子:DECLAREREALLYBIGTEXTSTRING CLOB := '待插入的海量字符串';BEGININSERT INTO test_table VALUES('test', REALLYBIGTEXTSTRING, '0');end ;/commit;这样就可以解决问题。
虽然字段是clob,足以存储,但是通过这种直接插入的时候,因为没有强制指定带插入字符串为clob类型,
oracle会把插入的字符串作为 字符串类型处理,由于oracle有最大字符串限制(不超过4000个字符),所以会报错。
解决思路:指定待插入字符串类型为clob
,可以使用过程或存储过程例子:DECLAREREALLYBIGTEXTSTRING CLOB := '待插入的海量字符串';BEGININSERT INTO test_table VALUES('test', REALLYBIGTEXTSTRING, '0');end ;/commit;这样就可以解决问题。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询