SQL必知必会(第5版)
上QQ阅读APP看书,第一时间看更新

2.7 使用注释

可以看到,SQL语句是由DBMS处理的指令。如果你希望包括不进行处理和执行的文本,该怎么办呢?为什么你想要这么做呢?原因有以下几点。

❑ 我们这里使用的SQL语句都很短,也很简单。然而,随着SQL语句变长,复杂性增加,你就会想添加一些描述性的注释,这便于你自己今后参考,或者供项目后续参与人员参考。这些注释需要嵌入在SQL脚本中,但显然不能进行实际的DBMS处理。(相关示例可以参见附录B中使用的create.sql和populate.sql。)

❑ 这同样适用于SQL文件开始处的内容,它可能包含程序描述以及一些说明,甚至是程序员的联系方式。(相关示例也可参见附录B中的那些.sql文件。)

❑ 注释的另一个重要应用是暂停要执行的SQL代码。如果你碰到一个长SQL语句,而只想测试它的一部分,那么应该注释掉一些代码,以便DBMS略去这些注释。

很多DBMS都支持各种形式的注释语法。我们先来看行内注释:

输入▼

    SELECT prod_name     -- 这是一条注释
    FROM Products;

分析▼

注释使用--(两个连字符)嵌在行内。——之后的文本就是注释,例如,这用来描述CREATE TABLE语句中的列就很不错。

下面是另一种形式的行内注释(但这种形式有些DBMS不支持)。

输入▼

    # 这是一条注释
    SELECT prod_name
    FROM Products;

分析▼

在一行的开始处使用#,这一整行都将作为注释。你在本书提供的脚本create.sql和populate.sql中可以看到这种形式的注释。

你也可以进行多行注释,注释可以在脚本的任何位置停止和开始。

输入▼

    /* SELECT prod_name, vend_id
    FROM Products; */
    SELECT prod_name
    FROM Products;

分析▼

注释从/*开始,到*/结束,/*和*/之间的任何内容都是注释。这种方式常用于把代码注释掉,就如这个例子演示的,这里定义了两个SELECT语句,但是第一个不会执行,因为它已经被注释掉了。