LOAD FROM 文件

LOAD FROM 包含要被装入到特定的表或视图内的数据。该装入文件的缺省路径名为当前的目录。

您可使用 UNLOAD 语句创建的文件作为 LOAD FROM 文件。(要了解各种数据类型在 UNLOAD TO 文件中如何展示的描述,请参阅 UNLOAD TO 文件。)

如果您在 INSERT INTO 子句中未包括列的列表,则该文件中的字段必须与为表指定的列在数量、顺序和数据类型方面相匹配。

该文件的每一行必须有相同的字段数量。 您定义的字段长度必须小于或等于为相应的列指定的长度。仅指定那些可转换为对应列的数据类型的值。下表指出数据库服务器期望您如何在 LOAD FROM 文件中表示数据类型(当您使用缺省的语言环境 U.S. English 时)。
数据的类型 输入格式
在定界符之间的一个或多个空字符。您可在不对应于字符列的字段中包括前导空白。
BOOLEAN tT 表示 TRUE 值,fF 表示 FALSE 值。
COLLECTIONS 集合必须有大括号括起其值,且用字段定界符分开每一元素。要获取更多信息,请参阅 装入复杂数据类型
DATE 下列格式的字符串: mm/dd/year。您必须声明月份为两位数字。如果年份在 20 世纪中,则可使用两位数字表示年份。(您可以 DBCENTURY 环境变量指定另一世纪算法。)该值必须为一实际日期;例如,2 月 30 日是非法的。如果您以 GL_DATEDBDATE 环境变量指定一种不同的日期格式,则可使用此格式。要获取更多关于环境变量的信息,请参阅 GBase 8s SQL 参考指南GBase 8s GLS 用户指南
DECIMAL、MONEY、FLOAT 可包括开始和/或结尾的货币符号以及千分位和十进制分隔符的值。您的语言环境或 DBMONEY 环境变量可指定货币格式。
NULL 在定界符之间没有任何符号
ROW 类型(命名的或未命名的) ROW 类型必须以括号和分隔每一元素的字段定界符括起其值。要获取更多信息,请参阅 装入复杂数据类型
简单大对象(TEXT、BYTE) 直接地从 LOAD TO 文件装入的 TEXT 和 BYTE 列。要获取更多信息,请参阅 装入简单大对象
智能大对象(CLOB、BLOB) 从独立的操作系统文件装入的 CLOB 和 BLOB 列。在 LOAD FROM 文件中的 CLOB 或 BLOB 列的字段包含此独立文件的名称。要获取更多信息,请参阅 装入智能大对象
时间 year-month-day hour:minute:second.fraction 格式的字符串。您不可使用 DATETIME 或 INTERVAL 值的数据类型关键字或限定符。年份必须是 4 位数字,其月份必须是 2 位数字。DBTIMEGL_DATETIME 环境变量可指定其他终端用户格式。
用户定义的数据格式(opaque 类型) 如果需要特殊的处理来将 LOAD FROM 文件中的数据复制到该 opaque 类型的内部格式,则关联的 opaque 类型必须定义了导入支持函数。导入二进制支持函数还可能需要二进制格式的数据。LOAD FROM 文件数据的格式必须是导入或导入二进制支持函数期望的格式。如果在数据库中写入数据之前需要特殊处理,则关联的 opaque 类型必须有赋值支持函数。请参阅 装入 opaque 类型列

要获取更多关于 DB* 环境变量的信息,请参考 GBase 8s SQL 参考指南。要获取更多关于 GL* 环境变量的信息,请参考 GBase 8s GLS 用户指南

如果您正在使用非缺省的语言环境,则 DATE、DATETIME、MONEY 的格式,以及 LOAD FROM 文件中的数字列值必须与该语言环境支持的这些数据类型的格式相兼容。要获取更多信息,请参阅 GBase 8s GLS 用户指南

下列示例展示名为 new_custs 的输入文件的内容:
0|Jeffery|Padgett|Wheel Thrills|3450 El Camino|Suite 10|Palo Alto|CA|94306||
0|Linda|Lane|Palo Alto Bicycles|2344 University||Palo Alto|CA|94301|
    (415)323-6440
此数据文件传递下列信息:
下列语句将值从 new_custs 文件装入到 jason 拥有的 customer 表内:
LOAD FROM 'new_custs' INSERT INTO jason.customer;
如果您包括任何下列特殊字符作为字段的值的一部分,则必须在该字符之前使用一反斜杠( \ )转义字符:

请不要使用反斜杠字符( \ )作为与分隔符。它作为转义字符来通知 LOAD 语句,下一个字符要解释为数据的一部分,而不是有特别的意义。

与字符列相对应的域可包含比允许该字段定义的字符数更多的字符。忽略多余的字符。

如果您正在装入包含 VARCHAR 数据类型的文件,请注意下列信息: