此类问题基本是在需要处理大文本内容时出现,例如将大文本插入到某个字段内,或者导入存在clob类型字段的内容且文本内容超过4000字符长度时,执行则弹出ORA-01704: string literal too long的报错信息,可以尝试以下方案。
报错图示:
一、当使用 insert into 语句插入大文本数据
1.变量赋值法;
declare
V_clobdata CLOB := '大文本内容';
BEGIN
INSERT INTO test123 (id, marks) values (1, V_clobdata);
END;
2.通过 up date 语句手工填入大文本数据内容,适用于少量数据需要修改的情况
select * from test_table for update;
二、数据迁移时,通过文件形式导入数据库(例如.csv 或 .sql等文件)
这类文件在plsql中导入时,实质上也是通过执行insert into语句插入,所以也同样会导致报错。
此时推荐选用导出dmp文件,dmp使用二进制存储,避免了上述的报错问题。
dmp文件导出步骤
1.菜单栏点击tools
2.下滑选择如图所示
3.进入页面
①选择具体用户 ②选着导出的表(可以单个,多个或全选) ③ 选择导出文件存放路径及文件名 ④点击导出即可
如导出失败可以参考此文解决:https://blog.csdn.net/fzy999999/article/details/131208529
dmp文件导入步骤
1.导入表格
选择需要导入的文件
完成数据的导入,无报错。
欢迎一起交流学习更多方法。