Oracle中的包――DBMS_LOB(一) DBMS_LOB包提供的方法允许你操作 BLOB、CLOB、NCLOB、BFILE 和临时 LOB 对象的部分或全部数据。 按功能类别DBMS_LOB包中的方法大体可分: (一)、写LOB 1、将源LOB数据加到目的LOB中。 声明: DBMS_LOB.APPEND ( dest_lob IN OUT NOCOPY BLOB, src_lob IN BLOB); DBMS_LOB.APPEND ( dest_lob IN OUT NOCOPY CLOB CHARACTER SET ANY_CS, src_lob IN CLOB CHARACTER SET dest_lob%CHARSET); 参数: dest_lob ―― 被追加的LOB src_lob ―― 读出并追加到dest_lob上的LOB 简例: create or replace procedure lob_append is dest_clob CLOB; src_clob CLOB; begin select clob_col into dest_clob from clob_table where key_value = 1 for update; --不要忘记这行,所定lob列 select clob_col into src_clob from clob_table where key_value = 2 for update; DBMS_LOB.APPEND(dest_clob,src_clob); commit; end lob_append; / --这时察看clob_table的key_value=1的纪录数据已经发生变化。 2、将源LOB复制到目的LOB中。 声明: DBMS_LOB.COPY ( dest_lob IN OUT NOCOPY BLOB, src_lob IN BLOB, amount IN INTEGER, dest_offset IN INTEGER := 1, src_offset IN INTEGER := 1); DBMS_LOB.COPY ( dest_lob IN OUT NOCOPY CLOB CHARACTER SET ANY_CS, src_lob IN CLOB CHARACTER SET dest_lob%CHARSET, amount IN INTEGER, dest_offset IN INTEGER := 1, src_offset IN INTEGER := 1); 参数: dest_lob ―― 目的LOB src_lob ―― 要复制的(源)LOB amount ―― BLOB要复制的字节数或CLOB要复制的字符数 dest_offset ―― 复制到目的LOB的偏移量(BLOB为子节CLOB为字符) src_offset ―― 读出源LOB的偏移量(BLOB为子节CLOB为字符) 简例: 类似上例,略。
oracle dbms lob,Oracle中的包――DBMS_LOB(一)
最新推荐文章于 2024-06-04 10:56:37 发布