全部产品

SQL 语句的注释

更新时间:2020-03-26 11:00:05

注释可以使应用程序更易于阅读和维护。例如,您可以在语句中用注释以描述该语句在应用程序中的用途。除 Hint 外,SQL 语句中的注释不会影响语句的执行。

注释可以出现在语句中的任何关键字、参数或标点符号之间。您可以通过两种方式在语句中添加注释:

  • 以斜杠和星号(/*)为开头的注释。斜杠和星号后跟着注释的文本。此文本可以跨越多行,并用星号和斜杠(*/)结束注释。开头和结尾的符号不必与文本用空格或换行符进行分隔。
  • 以两个连字符(- -)为开头的注释。符号后跟着注释的文本。此文本不能扩展到新行,并以换行符结束注释。

一些用于输入 SQL 的工具有附加的限制。例如,如果使用的是 SQL Plus,在默认情况下,多行注释中不能有空行。

一个 SQL 语句可以同时包含这两种风格的多个注释。注释的文本可以包含数据库字符集中的任何可打印字符。

以下示例展示了多种形式的以斜杠和星号(/*)为开头的注释:

  1. SELECT last_name, employee_id, salary + NVL(commission_pct, 0),
  2. job_id, e.department_id
  3. /* Select all employees whose compensation is
  4. greater than that of Pataballa.*/
  5. FROM employees e, departments d
  6. /*The DEPARTMENTS table is used to get the department name.*/
  7. WHERE e.department_id = d.department_id
  8. AND salary + NVL(commission_pct,0) > /* Subquery: */
  9. (SELECT salary + NVL(commission_pct,0)
  10. /* total compensation is salary + commission_pct */
  11. FROM employees
  12. WHERE last_name = 'Pataballa')
  13. ORDER BY last_name, employee_id;

以下示例中的语句包含多种形式的以两个连字符(- -)为开头的注释:

  1. SELECT last_name, -- select the name
  2. employee_id -- employee id
  3. salary + NVL(commission_pct, 0), -- total compensation
  4. job_id, -- job
  5. e.department_id -- and department
  6. FROM employees e, -- of all employees
  7. departments d
  8. WHERE e.department_id = d.department_id
  9. AND salary + NVL(commission_pct, 0) > -- whose compensation
  10. -- is greater than
  11. (SELECT salary + NVL(commission_pct,0) -- the compensation
  12. FROM employees
  13. WHERE last_name = 'Pataballa') -- of Pataballa
  14. ORDER BY last_name -- and order by last name
  15. employee_id -- and employee id.
  16. ;