Oracle TO_LOB() 函数使用指南
Oracle TO_LOB() 是一个内置函数,它将列给定的列中的 LONG 或 LONG RAW 值转换为 LOB 值。你只能将此函数应用于 LONG 或 LONG RAW 列,并且仅限于 INSERT 语句中子查询的选择列表中。
Oracle TO_LOB() 语法
这里是 Oracle TO_LOB() 函数的语法:
TO_LOB(long_column)
参数
long_column-
必需的。要操作的列的名称。
返回值
Oracle TO_LOB() 函数将列给定的列中的 LONG 或 LONG RAW 值转换为 LOB 值。要操作的列的名称。
在使用此函数之前,必须创建一个 LOB 列来接收转换后的 LONG 值。要转换 LONG 值,请创建一个 CLOB 列。要转换 LONG RAW 值,请创建一个 BLOB 列。
如果你正在创建一个索引组织表,不能在 CREATE TABLE...AS SELECT 语句的子查询中使用 TO_LOB 函数将 LONG 列转换为 LOB 列。相反,先创建不包含 LONG 列的索引组织表,然后在 INSERT...AS SELECT 语句中使用 TO_LOB 函数。
你不能在 PL/SQL 包内使用此函数。而应使用 TO_CLOB(character) 或 TO_BLOB(raw) 函数。
如果任意一个参数为 NULL, TO_LOB() 将返回 NULL。
Oracle TO_LOB() 示例
以下语法显示了如何在假设的表 old_table 中使用 TO_LOB 函数处理你的 LONG 数据:
CREATE TABLE new_table (col1, col2, ... lob_col CLOB);
INSERT INTO new_table (select o.col1, o.col2, ... TO_LOB(o.old_long_col)
FROM old_table o;
结论
Oracle TO_LOB() 是一个内置函数,它将列给定的列中的 LONG 或 LONG RAW 值转换为 LOB 值。你只能将此函数应用于 LONG 或 LONG RAW 列,并且仅限于 INSERT 语句中子查询的选择列表中。