1.2 如何输入 SQL 注释
您可以添加注释以阐明特定 SQL 语句的作用和影响。您还可以在程序开发期间使用注释符号以禁 用个别语句,而无需从源代码中删除它们。
您的注释可帮助您或其他人理解程序、SPL 例程或命令文件中的语句角色。本手册中的代码示例有 时包括阐明代码中的 SQL 语句角色的注释,但如果在写程序时经常使用注释,那么您自己的 SQL 程序将更容易阅读和维护。
显示了可在代码中输入的 SQL 注释指示符。这里列中的 Y 表示您可以将此符号与列标题中 标识的产品或数据库类型一起使用。列中的 N 表示不能将此符号与指出的产品或指出的 ANSI 一 致性状态的数据库一起使用。
数据库服务器忽略注释中的字符。
优化程序伪指令 这一部分描述了上下文,在该上下文中注释内的信息可以影响 GBase 8s 的查询计划。
如果您使用的产品支持所有这些注释符号,则您选择的注释符号取决于对 ANSI/ISO 一致性的需 求:
• 双连字符( -- )符合 SQL 的 ANSI/ISO 标准。
• 花括号( { } )是 ANSI/ISO 标准 的 GBase 8s 扩展。
• C 语言样式的斜杠和星号( /* . . . */ )符合 SQL-99 标准。
只要符合 ANSI/ISO 一致性,您对注释符号的选择纯属个人偏好。
在 DB-Access 中,当您使用 SQL 编辑器输入 SQL 语句和当您使用 SQL 编辑器或系统编辑器创 建 SQL 命令文件时,可以使用这些注释符号中的任何符号。
SQL 命令文件是包含一条或多条 SQL 语句的操作系统文件。命令文件也称为命令脚本。关于命令 文件的更多信息,请参阅 GBase 8s SQL 教程指南 中命令脚本的讨论。关于如何在 DB-Access 中 使用 SQL 编辑器或系统编辑器创建和修改命令文件的信息,请参阅 GBase 8s DB-Access 用户指 南 。
您可以在 SPL 例程的任意一行中使用任意一种注释符号。请参阅 GBase 8s SQL 教程指南 中关于 如何注释和记录 SPL 例程的讨论。
在 GBase 8s ESQL/C 中,以连字符(--)开始的注释可以延伸到同一行的末尾。关于 GBase 8s ESQL/C 程序中特定于语言的注释符号的信息,请参阅 GBase 8s ESQL/C 程序员手册 。
SQL 注释符号示例
这些示例说明了使用 SQL 注释指示符的不同方式。
以下示例使用了每一种注释符号,包括双连字符(--)、花括号({ })、C 语言样式(/* . . . */)的注释符号在 SQL 语句后注释。该注释与语句显示在同一行。
SELECT * FROM customer; -- Selects all columns and rows
SELECT * FROM customer; {Selects all columns and rows}
SELECT * FROM customer; /*Selects all columns and rows*/
以下三个示例与前面的示例使用了相同的 SQL 语句和相同的注释,但注释自成一行:
SELECT * FROM customer;
-- Selects all columns and rows
SELECT * FROM customer;
{Selects all columns and rows}
SELECT * FROM customer;
/*Selects all columns and rows*/
以下示例中,用户输入与前面的示例中相同的 SQL 语句,但现在输入一条多行注释(或者对于双 连字符有两条注释):
SELECT * FROM customer;
-- Selects all columns and rows
-- from the customer table
SELECT * FROM customer;
{Selects all columns and rows from the customer table}
SELECT * FROM customer;
/*Selects all columns and rows
from the customer table*/
- SQL 语句中出现任意三种样式的注释:
SELECT * -- Selects all columns and rows
FROM customer;
-- from the customer table
SELECT * {Selects all columns and rows}
FROM customer; {from the customer table}
SELECT * /*Selects all columns and rows*/
FROM customer; /*from the customer table*/
如果您使用花括号或 C 语言样式的注释被成对的开始和结束符号定界,那么结束注释符号必须与 开始注释符号的样式相同。
SQL 注释中的非 ASCII 字符
如果数据库语言环境支持非 ASCII 字符(包括多字节字符),则可以在 SQL 注释中输入非 ASCII 字符。关于 SQL 注释 GLS 方面的进一步信息,请参阅 GBase 8s GLS 用户指南。