使用 UNLOAD 语句来将通过 SELECT 语句检索到的行写到操作系统文件。UNLOAD 语句是对 SQL 的 ANSI/ISO 标准的扩展。
语法
仅 DB-Access 支持 UNLOAD 语句。
元素 | 描述 | 限制 | 语法 |
delimiter | 指定在 filename 文件中的字段定界符字符的加引号的字符串 | 请参阅 DELIMITER 子句 | 引用字符串 |
filename | 要接收这些行的操作系统文件。缺省的 pathname 是当前的目录。 | 请参阅 UNLOAD TO 文件。 | 引用字符串 |
variable | 包含有效的 SELECT 语句的文本的主变量 | 必须已被声明为字符数据类型 | 特定于语言 |
用法
重要: 仅随同 DB-Access 使用 UNLOAD 语句。
UNLOAD 语句将通过查询检索到的行复制到文件。您必须在 SELECT 语句中指定的所有列上有 Select 权限。要获取关于数据库级和表级权限,请参阅 GRANT 语句。
您可指定字面的 SELECT 语句,或包含 SELECT 语句的文本的字符变量(请参阅 SELECT 语句。)
下列示例卸载其 customer.customer_num 的值大于或等于 138 的行,并将它们写到名为 cust_file 的文件:
UNLOAD TO 'cust_file' DELIMITER '!'
SELECT * FROM customer WHERE customer_num> = 138;
结果输出文件 cust_file 包含两行数据值:
138!Jeffery!Padgett!Wheel Thrills!3450 El Camino!Suite 10!Palo Alto!CA!94306!!
139!Linda!Lane!Palo Alto Bicycles!2344 University!!Palo Alto!CA!94301!
(415)323-5400
通过 filename 参数指定的 UNLOAD TO 文件接收检索到的行。
您可使用 UNLOAD TO 文件作为对 LOAD 语句的输入。
UNLOAD TO 在缺省的 U.S. English 语言环境中的数据格式
在缺省的语言环境中,在 UNLOAD TO 文件中,数据值有这些格式。
数据类型 | 输出格式 |
BOOLEAN | BOOLEAN 值显示为 t 表示 TRUE,或显示为 f 表示 FALSE。 |
字符 | 如果字符字段包含定界符,则 GBase 8s 产品自动地用反斜杠(\)转义它,以防止翻译为特殊字符。在 UNLOAD TO 文件中,字面的反斜杠字符显示为两个连续的反斜杠字符(\\)。如果您使用 DB-Access 的 LOAD 语句来将行插入到表内,则自动地从那个表除去反斜杠。 |
Collections | 卸载的集合的值括在大括号({ })之间,每个元素之间有定界符。要获取更多信息,请参阅 卸载复杂类型。 |
DATE | DATE 值表示为 mm/dd/yyyy (或数据库语言环境的缺省的格式),在此,mm 为月份(January = 1,依此类推),dd 为日期,yyyy 为年份。如果您已设置了 GL_DATE 或 DBDATE 环境变量,则 UNLOAD 语句为 DATE 值使用指定的数据格式。 |
DATETIME、 INTERVAL | 字面的 DATETIME 和 INTERVAL 值显示为数字和定界符,不带有关键字限定符,以缺省的格式 yyyy-mm-dd hh:mi:ss.fff。省略声明的精度之外的时间单位。如果设置 GL_DATETIME 或 DBTIME 环境变量,则 DATETIME 值以指定的格式显示。 |
DECIMAL、 MONEY | 不带有主要货币符号的卸载的值。在缺省的语言环境中,逗号(,)是千分隔符,而句号(.)是小数分隔符。如果设置 DBMONEY,则对于 MONEY 值,UNLOAD 使用它的指定的分隔符和货币格式。 |
NULL | NULL 显示为在其间不带有字符的两个定界符。 |
数值 | 值显示为前面没有空格的文字。对于 BIGINT、INTEGER、INT8 和 SMALLINT 数据类型,零显示为 0,对于 MONEY、FLOAT、SMALLFLOAT 和 DECIMAL 数据类型,零显示为 0.0。 |
ROW 类型(命名的和未命名的) | ROW 类型将它的值括在圆括号之间,且以字段定界符分隔每一元素。要获取更多信息,请参阅 卸载复杂类型。 |
简单大对象(TEXT、BYTE) | 直接将 TEXT 和 BYTE 列卸载到 UNLOAD TO 文件内。BYTE 值出现在 ASCII 十六进制表中,不带有添加的空白或换行符。要获取更多信息,请参阅 卸载简单大对象。 |
智能大对象(CLOB、BLOB) | 将 CLOB 和 BLOB 列卸载到客户端计算机上的单独的操作系统文件(对于每一列)内。UNLOAD TO 文件中的 CLOB 或 BLOB 字段包含此文件的名称。要获取更多信息,请参阅 卸载智能大对象。 |
用户定义的数据类型(opaque 类型) | Opaque 类型必须定义有 export( ) 支持函数。它们需要特殊的处理来从 opaque 数据类型的内部格式复制到 UNLOAD TO 文件格式。对于二进制格式的数据,可能还需要 exportbinary( ) 支持函数。UNLOAD TO 文件中的数据可能对应于 export( ) 或 exportbinary( ) 支持函数返回的格式。 |