GBase 8s LOAD
使用 LOAD 语句将数据从操作系统文件插入到现有的表或视图内。
语法
仅 DB-Access 支持 LOAD 语句。

| 元素 | 描述 | 限制 | 语法 |
|---|---|---|---|
| column | 要从 filename 接收数据值的列 | 请参阅 INSERT INTO 子句。 | 标识符 |
| delimiter | 在装入文件的每一行内要分隔数据值的字符。缺省的定界符为管道 ( | ) 符号。 | 请参阅 DELIMITER 子句。 |
| filename | 要读取的文件的路径和文件名。缺省路径为当前目录 | 请参阅 LOAD FROM 文件。 | 特定于操作系统规则 |
| synonym, table, view | 要从 filename 向其中插入数据的表的同义词 | 所指向的 Synonym 和 table 或 view 必须存在 | 数据库对象名 |
用法
LOAD 语句向表追加新行。它不覆盖现有的数据。您添加的行不可与现有的行具有相同的键。
要使用 LOAD 语句,您必须有对您想要插入数据的表的 Insert 权限。
您使用非缺省的语言环境的数据库中,如果 GL_DATETIME 环境变量有一非缺省的设置,则在 LOAD 语句可将本地化的 DATETIME 值正确地插入到数据库表,或插入到视图,或插入到 CREATE EXTERNAL TABLE 语句定义的对象内之前,USE_DTENV 环境变量必须设置为 1。
要了解更多关于 GL_DATETIME、GL_DATE、DBTIME 和 USE_DTENV 环境变量的信息,请参考 GBase 8s GLS 用户指南。
DELIMITER 子句
使用 DELIMITER 子句来指定分隔在输入文件中的行中的每一列中包含的数据的定界符。 您可指定 (CTRL-I) 或空格(= ASCII 32)作为定界符号。您不可使用下列项作为定界符号:
- 反斜杠(\)
- NEWLINE 字符 (CTRL-J)
- 十六进制数(0 至 9、a 至 f、A 至 F)
如果您省略此子句,则数据库服务器检查 DBDELIMITER 环境变量。如果尚未设置 DBDELIMITER 环境变量,则缺省的定界符为管道(|)。
下列示例指定分号( ;)作为定界符号。该示例使用 Windows™ 文件命名约定。
LOAD FROM 'C:\data\loadfile' DELIMITER ';'
INSERT INTO orders;
INSERT INTO 子句
INSERT 子句
使用 INSERT INTO 子句来指定要将新数据装入其中的表、同义词或视图。
您必须指定列名称仅当下列条件之一为真:
- 您不是将数据装入所有列内。
- 输入文件与这些列的缺省顺序不匹配(当创建表时指定的顺序)。
INTO 子句不可指定 CREATE EXTERNAL TABLE 语句定义的表对象。
下列示例标识 price 和 discount 列作为向其中添加数据的仅有的列。该示例使用 Windows™ 文件命名约定。
LOAD FROM 'C:\tmp\prices' DELIMITER ','
INSERT INTO norman.worktab(price,discount)




