1. 操作clob列时,需要加上Updata锁锁上指定数据列,修改完后提交事务
declare
v_clob CLOB;
v_clob1 CLOB;
i NUMBER;
begin
dbms_lob.createtemporary(v_clob,true);
dbms_lob.createtemporary(v_clob1,true);
SELECT b.test INTO v_clob FROM b WHERE ID=2 FOR UPDATE;
SELECT b.test INTO v_clob1 FROM b WHERE ID=2;
dbms_lob.append(v_clob,v_clob1);
COMMIT;
UPDATE b SET TEST=v_clob WHERE ID=2;
COMMIT;
end;
2. CLOB类型到底能存多大的内容?
用plsql使用clob类型的时候可能遇到这样的情况:clob字段显示:value error,这个时候是不是clob字段被撑爆了??下面来看下
此时可以看到test栏位是clob类型字段,但是他显示的是value error,我们看它是不是真的被撑爆了:
可以看到,虽然plsql上面显示的是value error ,但是我们还是能对其进行相关操作,说明此时clob字段并没有撑爆!!!看到此时clob的长度是128000000,按全部都是中文计算,占据的空间为:128000000*3/(1024*1024*1024)= 0.35G,官方给的clob字段的上限可以达到4G。本来想测试下,想把clob写爆,但机器不给力,反应太慢了。。。