Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (中文) » SQL Anywhere 服务器 - SQL 参考 » 使用 SQL » SQL 语句 » SQL 语句 (P-Z)

 

READ 语句 [Interactive SQL]

此语句用于从文件中读取 Interactive SQL 语句。

语法
READ [ ENCODING encoding ] filename [ parameter ] ...
encoding : identifier or string
注释

READ 语句从指定的文件中读取 Interactive SQL 语句序列。此文件可以包含任何有效的 Interactive SQL 语句,其中包括其它 READ 语句。READ 语句可以嵌套到任何深度。如果文件名中不包含绝对路径,则 Interactive SQL 将搜索该文件。Interactive SQL 将首先搜索调用文件(如果存在)的目录,然后搜索在环境变量 SQLPATH 中指定的目录,接着再搜索在环境变量 PATH 中指定的目录。如果指定的文件没有文件扩展名,则 Interactive SQL 会在每个目录中搜索带扩展名 .sql 的同名文件。

ENCODING 子句允许您指定用于读取文件的编码。READ 语句在读取文件时不处理转义字符。它假定整个文件都使用指定的编码。

对于 Interactive SQL,如果未指定 ENCODING 子句,则按以下顺序确定用于读取文件的编码:

  • 用 default_isql_encoding 选项指定的编码(如果设置此选项)

  • 运行 Interactive SQL 的计算机上操作系统字符集的缺省编码

有关 Interactive SQL 和编码的详细信息,请参见default_isql_encoding 选项 [Interactive SQL]

参数可以在命令文件名之后列出。这些参数对应于在语句文件开头的 PARAMETERS 语句中指定的参数。请参见PARAMETERS 语句 [Interactive SQL]

参数名必须用方括号括起来。只要源文件中包含 {parameter-name}(其中 parameter-name 是相应参数的名称),Interactive SQL 就替换相应参数。

传递给命令文件的参数可以是标识符、数字、带引号的标识符或字符串。如果用引号将参数括起来,则在替换时引号也放到文本中。不是标识符、数字或字符串(包含空格或制表符)的参数都必须用方括号 ([ ]) 括起来。这样可以在命令文件中进行任意文本替换。

如果传递给命令文件的参数不够,Interactive SQL 会提示您提供缺少的参数的值。

通过 Interactive SQL 执行 reload.sql 文件时,必须将加密密钥指定为一个参数。如果未在 READ 语句中提供密钥,Interactive SQL 会提示您输入密钥。请参见Interactive SQL 实用程序 (dbisql)

filename 的位置根据 READ 语句的位置确定,如下所示:

  • 如果直接在 Interactive SQL 中执行 READ 语句,则相对于运行 Interactive SQL 的目录解析 filename 的路径。

  • 如果 READ 语句在外部文件中(例如,.sql 文件),则 Interactive SQL 会首先尝试相对于外部文件所在位置来解析 filename 的路径。如果未成功,则 Interactive SQL 会在相对于正运行 Interactive SQL 的目录的路径中查找 filename

权限

无。

副作用

无。

另请参见
标准和兼容性
  • SQL/2003   服务商扩充。

示例

以下是 READ 语句示例。

READ status.rpt '160';
READ birthday.sql [>= '1988-1-1'] [<= '1988-1-30'];