Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.
读取来自文件的 Interactive SQL 语句。
READ [ ENCODING encoding ] filename [ parameter ] ...
encoding : identifier | string
ENCODING ENCODING 子句允许您指定用于读取文件的编码。READ 语句在读取文件时不处理转义字符。它假定整个文件都使用指定的编码。
运行 Interactive SQL 时,按以下顺序确定用于读取数据的编码:
ENCODING 子句指定的编码(如果指定了该子句)。
文件中字节顺序标记 (BOM) 指定的编码(如果指定了 BOM)。
用 default_isql_encoding 选项指定的编码(如果设置此选项)。
当前运行所在平台的缺省编码。在英文版 Windows 计算机上,缺省编码是 1252。
READ 语句从指定的文件中读取 Interactive SQL 语句序列。此文件可以包含任何有效的 Interactive SQL 语句,其中包括其它 READ 语句。READ 语句可以嵌套到任何深度。
如果 filename 没有文件扩展名,则 Interactive SQL 会搜索带扩展名 .sql 的同名文件。
如果 filename 中不包含绝对路径,则 Interactive SQL 将搜索该文件。filename 的位置根据 READ 语句的位置确定,如下所示:
如果直接在 Interactive SQL 中执行 READ 语句,则 Interactive SQL 会首先尝试相对于运行 Interactive SQL 的目录来解析 filename 的路径。如果未成功,Interactive SQL 将先后在环境变量 SQLPATH 中所指定的目录和环境变量 PATH 中所指定的目录中查找 filename。
如果 READ 语句在外部文件中(例如,.sql 文件),则 Interactive SQL 会首先尝试相对于外部文件所在位置来解析 filename 的路径。如果未成功,则 Interactive SQL 会在相对于正运行 Interactive SQL 的目录的路径中查找 filename。如果仍未成功,Interactive SQL 将先后在环境变量 SQLPATH 中所指定的目录和环境变量 PATH 中所指定的目录中查找 filename。
参数可以在 SQL 脚本文件名之后列出。这些参数对应于在语句文件开头的 PARAMETERS 语句中指定的参数。
参数名必须用方括号括起来。只要源文件中包含 { parameter-name } (其中 parameter-name 是相应参数的名称),Interactive SQL 就替换相应参数。
{ parameter-name }
传递给脚本文件的参数可以是标识符、数字、带引号的标识符或字符串。如果用引号将参数括起来,则在替换时引号也放到文本中。不是标识符、数字或字符串(包含空格或制表符)的参数都必须用方括号 ([ ]) 括起来。这样可以在脚本文件中进行任意文本替换。
如果传递给脚本文件的参数不够,Interactive SQL 会提示您提供缺少的参数的值。
通过 Interactive SQL 执行 reload.sql 文件时,必须将加密密钥指定为一个参数。如果未在 READ 语句中提供密钥,Interactive SQL 会提示您输入密钥。
无。
SQL/2008 服务商扩充。
以下是 READ 语句示例。
READ status.rpt '160'; READ birthday.sql [>= '1988-1-1'] [<= '1988-1-30'];
要处理使用特定 OEM 代码页的文件,必须指定该代码页。例如:
dbisql READ ENCODING 'cp437' myfile.sql