在执行SQL的时候报了[ORA-01704:字符串文件太长]的错误,如下图所示:

oracle默认把字符串转换成varchar2类型,而这个字符串的长度,又比4000大,所以会报ora-01704错误。说得通俗一点,就是两个单引号之间的字符不能超过4000。

遇到这个问题,可以使用PL/SQL语法,采取绑定变量的方式解决,而不是直接拼接SQL,例如:

--使用PL/SQL语法,采取绑定变量的方式解决,而不是直接拼接SQLDECLARE V_LANG CLOB := '待插入的海量字符串';V_UPDATE CLOB := '更新的海量字符串';
BEGININSERT INTO temp t VALUES ('Grand.Jon', 22, V_LANG);        --增加UPDATE temp t SET t.temp_clob = V_UPDATE WHERE rownum = 1;  --修改SELECT t.NAME, dbms_lob.substr(t.temp_clob) FROM TEMP t;    --查询  将CLOB转成字符类型DELETE temp t WHERE rownum = 1;                             --按列删除  COMMIT;END;
/

注:END;末尾加“/”的意思是执行这段PL/SQL代码,如果多个PL/SQL代码需要同时执行,末尾必须加上该符号。

SQL 插入 CLOB类型相关推荐

  1. python连接oracle数据库 插入clob类型数据

    python连接oracle数据库 插入clob类型数据 连接数据库 import cx_Oracle as cx #导入模块 con = cx.connect('root', 'root123', ...

  2. oracle插入CLOB类型超过4000个字符报ORA-01704错的解决方法及其它相关场景解决方案...

    最近有位朋友问我:开发中向CLOB字段存储string时报了ORA-01704的错误不知道怎么解决.首先造成这个问题的原因相信大家都明白,就是因为插入的字符串过长导致,因为oracle在插入CLOB的 ...

  3. oracle插入CLOB类型超过4000个字符报ORA-01704错的解决方法

    今天碰到一个问题,测试童鞋希望把tomcat的报错日志报错到数据库中,结果调用insert into的时候,报ORA-01704. INSERT INTO SYSTEM.QYQTEST2021(ID, ...

  4. oracle纯SQL更新插入clob类型字段

    句式: declarebname clob := 'select * from (SELECTorder by ad_code'; beginupdate dsy_t_query set Q_TABL ...

  5. oracle的clob赋值_Java处理(插入或修改)clob类型数据

    CLOB字段的插入 clob类型的数据直接insert可能会因为字符过长而出错,所以要用对象形式插入. 示例: 首先,创建一个含CLOB字段的表: create table test (id INTE ...

  6. java clob类型怎么插入数据库_在Java + Oracle环境下 对于clob类型的数据的插入

    SQL 类型 CLOB 在 JavaTM 编程语言中的映射关系.SQL CLOB 是内置类型,它将 Character Large Object 存储为数据库表的某一行中的一个列值.默认情况下,驱动程 ...

  7. #Oracle Clob类型字段插入与更新

    Oracle Clob类型字段插入与更新 (一)在oracle中,有一种类型叫做大对象类型,分为二进制的blob和字符型的char类型,用于存储字符串超过4000(varchar2的长度限制是4000 ...

  8. PL/SQL测试存在CLOB类型入参的存储过程时,入参为NULL

    今天有一存储过程调用时报错, 想dubeg下查找问题 . 但是由于一入参为CLOB类型(如果为VARCHAR2,只支持2000长度),利用PL/SQL自身的测试功能测试时,v_doc 填入参数在运行方 ...

  9. [Oracle]ORA-03127: 在活动操作结束之前不允许进行新的操作, clob类型出参在PL/SQL测试报错

    函数定义如下: 返回值以及两个出参都是clob类型 --函数定义 function GetFieldListCompare (sInfoName in VARCHAR2,sTableName in V ...

  10. 往Oracle数据库中插入NCLOB/CLOB类型数据

    最近因为业务需求开发了一个接口用于接收数据,但是总有一些数据报出ORA-01704:字符串文字太长错误.仔细排查后发现,竟然是NCLOB类型字段提示这个错误.NCLOB存储空间有4G,怎么也想不明白为 ...

最新文章

  1. 数据挖掘深入理解和学习路径
  2. jQuery 常用的效果函数(一)
  3. 【linux】linux一次杀死多个进程
  4. Android退出程序时的再按一次退出实现
  5. [TensorRT] INTERNAL ERROR: Assertion failed: mem = nullpt
  6. 【OpenCV学习笔记】【教程翻译】三( 车牌检测之区域分割)
  7. BZOJ4764弹飞大爷——LCT
  8. RTSP丢包处理原理及doubango代码改进
  9. 微信小程序的点击、双击、长按事件
  10. 《高效人士的七个习惯》读后感-总结
  11. EDK环境搭建UEFI工程模块文件介绍
  12. 生成微信公众号对应二维码的两种简单方法
  13. 【干货总结】分层强化学习(HRL)全面总结
  14. 第二章:算法——程序的灵魂
  15. 3.6.3 Cache和主存的映射方式
  16. mysql存储过程,函数,变量与流程控制
  17. mysql怎么判断是否断号_怎么判断孩子是否为多动症,家长可以看看这篇
  18. 账户账务系统架构与实践
  19. ps界面布局及性能优化
  20. 实现抖音哈哈镜效果---OpenCV-Python开发指南(47)

热门文章

  1. TM2008 Preview体验
  2. android蓝牙动态权限,Android蓝牙权限
  3. abap 创建出口历程_(发展战略)ABAP历史发展
  4. 书籍新增类别下拉框上下架
  5. 如何制作个人网站(如何搭建个人博客)
  6. CAD 卸载工具,完美彻底卸载清除干净cad各种残留注册表和文件【转载】
  7. 电动汽车动力系统整车仿真模型,具有双向DCDC变换器实现能量反馈,带异步电机仿真,应用最大转矩电流比控制加独特的弱磁控制策略
  8. 新闻平台聚合之新浪新闻爬虫发布
  9. Tomcat 内存溢出问题与解决方法
  10. 基于JavaWeb的房屋出租管理系统设计与实现