Oracle clob字段的插入

一般的sql插入语句,当要插入的长度大于4000的时候,数据库就会报错。
可以使用dbms_lob包来处理,先插入一个空的clob值,再将其取出,利用dbms_lob包将数据写入,再更新表。(blob同理)

#创建表
DROP TABLE "SCOTT"."pre_test";
CREATE TABLE "SCOTT"."pre_test" (
"id" NUMBER(8) NULL,
"message" CLOB NULL
);
insert into "pre_test" ("message") values (empty_clob());

待续...

2013-12-11 23:51 更新

由于时间较长,手上目前木有Oracle数据库可供测试,以下代码为伪代码,不能正常运行,但能说明流程:

select message into x;
dbms_lob.write(x, ...);
update "SCOTT"."pre_test" set message=x;

标签: none

已有 3 条评论

  1. 你的这个怎么只写一半,插入空后如果更新呀。。。 求解

    1. 已经更新文章,但是目前只有伪代码了。

    2. 好久之前的事情了,已经记不得了,回去我找找代码

添加新评论