图: lld_copy_subset 例程
-- Using the lld_copy_subset function create function lld_copy_subset (lld_locator, lld_locator, int8, int) returns lld_locator external name '/tmp/sapidemo.so' language c; insert into lobs values (5, lld_copy_subset ( "row('ifx_file',null,'/tmp/quote3.txt')"::lld_locator, "row('ifx_clob',null,null)"::lld_locator, 20, 70)); select lo from lobs where key = 5; select lo.lo_pointer::clob from lobs where key = 5;
lld_copy_subset 函数从 quote3.txt 文件中偏移量为 20 的位置开始复制 70 个字节,并将其附加到 CLOB 对象。INSERT 语句会将此数据插入 lobs 表中。
第一个 SELECT 语句返回识别新复制的 CLOB 数据的 lld_locator。第二个 SELECT 语句返回该数据本身。