当您使用 INSERT 语句来将对象插入到 BLOB 或 CLOB 列时,数据库服务器在 sbspace 中,而不是在表中,存储该对象。数据库服务器提供您可从 INSERT 语句之内调用的 SQL 函数来导入和导出 BLOB 或 CLOB 数据,这些数据又称为智能大对象。要了解这些函数的描述,请参阅 智能大对象函数。
下列 INSERT 语句使用
filetoblob() 和
filetoclob() 函数来插入
inmate 表的行。(
图 1 定义
inmate 表。)
INSERT INTO inmate
VALUES (437, FILETOBLOB('datafile', 'client'),
FILETOCLOB('tmp/text', 'server'));
在前一示例中,
FILETOBLOB() 和
FILETOCLOB() 函数的第一个参数分别指定要复制到
inmate 表的
BLOB 和
CLOB
列内的源文件的路径。每一函数的第二个参数指定该源文件是位于客户机计算机('client'),还是位于服务器计算机('server')。要在该函数参数中指定文件名称的路径,请应用下列规则:
- 如果源文件驻留在服务器计算机上,则您必须指定该文件的完全路径名称(不是相对于当前工作目录的路径名称)。
- 如果源文件驻留在客户机计算机上,则您可指定该文件的完全路径或相对路径。