如何在sql中给出注释

时间:2014-10-22 04:47:11

标签: mysql sql oracle

我正在使用SQL,请提出一个关于SQL注释的问题      给我完整的解释。      通过代码向我提供完整的信息。      并举一个例子。

5 个答案:

答案 0 :(得分:5)

MySQL Server支持三种评论样式:

#字符到行尾。

--序列到行尾。在MySQL中,“ - ”(双破折号)注释样式要求第二个破折号后跟至少一个空格或控制字符(例如空格,制表符,换行符等)。此语法与标准SQL注释语法略有不同,如第1.8.2.5节“' - '作为评论的开头“。

/*序列到以下*/序列,与C编程语言一样。此语法使注释能够扩展到多行,因为开始和结束序列不必位于同一行。

参考http://dev.mysql.com/doc/refman/5.0/en/comments.html

答案 1 :(得分:1)

您可以在SQL&中编写注释PLSQL语句有两种简单的方法:

  1. 使用正斜杠和星号(/ *)开始注释部分。继续评论的文本。此文本可以跨越多行。

  2. 以 - (两个连字符)开头评论部分。继续评论的文本。此文本无法扩展到新注释的新行。每行以 - (两个连字符)开头。让我们看下面的例子

    选择e.ename / *作者:OnlinteItTutor.com * / 来自emp;

  3. 以下是查询中出现在行中间的SQL注释:

    SELECT  /* Author: OnlinteItTutor.com */  e.ename
    FROM emp e;
    

    以下是查询中出现在行尾的SQL注释:

    SELECT e.ename /* Author: OnlinteItTutor.com */
    FROM emp e;    
    

    或者:

    SELECT e.ename  -- Author: OnlinteItTutor.Com
    FROM emp e;
    

    在Oracle中,您可以创建一条SQL注释,在SQL语句中显示多行。例如:

    SELECT e.ename
    /*
     * Author: OnlineItTutor.Com
     * Purpose: To show a comment of multiple lines in SQL Query.
     */
    FROM emp e;
    

    查询中的这条SQL注释显示在Oracle的多行中 - 在本例中,它显示了4行。在Oracle中,您还可以使用以下语法在查询中创建跨多行的SQL注释:

    SELECT e.ename /* Author: OnlineItTutor.com
    Purpose: To show a comment in SQL Query for multiple lines. */
    FROM emp e;
    

答案 2 :(得分:0)

/*
this is a
multiple-line comment
*/

答案 3 :(得分:0)

MySQL Server支持三种评论样式:

从“#”字符到行尾。

从“ - ”序列到行尾。在MySQL中,“ - ”(双破折号)注释样式要求第二个破折号后跟至少一个空格或控制字符(例如空格,制表符,换行符等)。此语法与标准SQL注释语法略有不同,如第1.8.2.5节“' - '作为评论的开头“。

从/ *序列到以下* /序列,如在C编程语言中。此语法使注释能够扩展到多行,因为开始和结束序列不必位于同一行。 以下示例演示了所有三种注释样式:

mysql> SELECT 1+1;     # This comment continues to the end of line
mysql> SELECT 1+1;     -- This comment continues to the end of line
mysql> SELECT 1 /* this is an in-line comment */ + 1;
mysql> SELECT 1+
/*
this is a
multiple-line comment
*/
1;

答案 4 :(得分:0)

在Oracle中,有三种方法。

<强> 1

SQL> REM This is a comment

<强> 2

SQL> -- This is a single line comment

第3

SQL> /* This is a
SQL> multiple line
SQL> comment */
SQL>

REM和其他两个之间的区别在于, - 和/ * * /可用于PL/SQL块,而REM[ARK]则不能。

让我们看看。

SQL> REM comment 1
SQL> -- comment 2
SQL> /* comment 3*/
SQL> begin
  2     DBMS_OUTPUT.PUT_LINE('comment 1'); --comment 1
  3     DBMS_OUTPUT.PUT_LINE('comment 2'); /* comment 2*/
  4  end;
  5  /
comment 1
comment 2

PL/SQL procedure successfully completed.

SQL>

因此,--/* */也适用于PL / SQL块。但是,REM不会。

SQL> begin
  2     DBMS_OUTPUT.PUT_LINE('comment'); REM comment
  3  end;
  4  /
   DBMS_OUTPUT.PUT_LINE('comment'); REM comment
                                        *
ERROR at line 2:
ORA-06550: line 2, column 41:
PLS-00103: Encountered the symbol "COMMENT" when expecting one of the
following:
:= . ( @ % ;
The symbol "; was inserted before "COMMENT" to continue.

更新大多数基于GUI的工具都能够在自己的sqlplus类型窗口中执行SQL*Plus命令。当作为SQL Developer执行时,它在script中完美运行。在PL/SQL Developer中也可以使用COMMAND窗口。

来自SQL Developer 的屏幕截图。

enter image description here

SQL*Plus相同。

SQL> SELECT * FROM DUAL;

D
-
X

SQL> REM THIS IS A COMMENT
SQL> SELECT 'ABOVE COMMENT WORKS' FROM DUAL;

'ABOVECOMMENTWORKS'
-------------------
ABOVE COMMENT WORKS