隐式 lld_lob 强制转型

本节显示如何将二进制数据和字符数据插入表的 lld_lob 类型列中。 以下示例将使用从 BLOB 和 CLOB 类型到 lld_lob 类型的隐式强制转型。

图: 隐式 lld_lob 强制转型

create table slobs (key int primary key, slo lld_lob);

--Insert binary and text large objects into an lld_lob field
--Implicitly cast from blob/clob to lld_lob
insert into slobs values (1, filetoblob ('logo.gif', 'client'));

insert into slobs values (2, filetoclob ('quote1.txt', 'client'));

select * from slobs;


key  1
slo  blob:00608460a6b7c8d900000002000000030000000200000018000000000001000000608
     460736c6f000010029a2a6c92070000000000006c000af0cdd900000080006082500af0c9d
     e

key  2
slo  clob:00608460a6b7c8d900000002000000030000000300000019000000000001000000608
     460736c6f000010029a2a6c930d0000000000006c000af0cdd900000016000000010af0c9d
     e 

此示例中创建的 slobs 表包含类型为 lld_lob 的 slo 列。第一个 INSERT 语句使用 filetoblob 函数将二进制大对象复制到智能大对象。由于存在从 BLOB 类型到 lld_lob 类型的隐式强制转型,因此 INSERT 语句可以将 BLOB 类型的大对象插入 lld_lob 类型列中。

同样,由于存在从 CLOB 类型到 lld_lob 类型的隐式强制转型,因此第二个 INSERT 语句可以将 CLOB 类型的大对象插入 slobs 表的 slo 列中。

SELECT 语句返回将识别 slobs 表中存储的两个智能大对象的 lld_lob 类型。

关键字 1 的 slo 列包含将数据识别为 BOLB 数据的 lld_lob 类型的实例,并且包含指向数据位置的十六进制数字。

关键字 2 的 slo 列将数据识别为 CLOB 数据,并且包含指向数据位置的十六进制数字。