ORA-01704: 字符串文字太长 报错解决办法

oracle clob字段插入超过4000个字符串时会报错

ORA-01704: 字符串文字太长

网上很多答案都是不正确的,搞什么存储过程变量之类的

最有效的办法是把插入的字符切割成多个4000小块,然后用TO_CLOB()函数把字符串转成clob格式, 再使用 || 拼接起来,如下示例

insert into "RESULT" 
("ACCESS_NUMBER", "PATIENT_ID", "PATIENT_NAME", "GENDER", "AGE", "BIRTHDAY", "CHECK_SEE", "CHECK_RESULT", "PDF")
values
('clinid20221122001', 'cid4464', 'pat_name4646', '男', '18', TO_DATE('2023-01-11 16:51:47', 'YYYY-MM-DD HH24:MI:SS'), '检查所见', '检查提示', TO_CLOB('4000个字符') || TO_CLOB('4000个字符') || TO_CLOB('4000个字符'))