Rem和-SQL * Plus的注释之间有什么区别吗?


13

在SQL * Plus提示符下,将Rem和都--视为注释指示符:

Rem this is a comment
-- this is also a comment
create table emp (
id number primary key,
name cvarchar2(40));

两种评论技术之间有什么区别吗?


1
并且不要忘记/ *评论* /也有效。
Gaius

Answers:


18

不同的是,--/* */可以在PL / SQL块被使用,而REM[ARK]不能。以下将在SQL * Plus中工作:

REM comment
-- comment
/* comment */
begin
   DBMS_OUTPUT.PUT_LINE('Test'); --comment
   DBMS_OUTPUT.PUT_LINE('Test'); /* comment */
end; 
/

这些不会:

begin
   DBMS_OUTPUT.PUT_LINE('Test'); REM comment
end; 
/

begin
   REM comment
   DBMS_OUTPUT.PUT_LINE('Test');
end; 
/

有关所有注释类型11.2文档提供了更多注释信息。基础...

您可以通过三种方式在脚本中输入注释:

  • 对单行注释使用SQL * Plus REMARK命令。

  • 对单行或多行注释使用SQL注释定界符/ * ... * /。

  • 使用ANSI / ISO(美国国家标准协会/国际标准组织)注释--用于单行注释。

该文档还在四个位置上包括了不应使用注释的注释,但这些注释不包含任何其他差异。


公平地讲,我从未遇到过支持REM作为注释定界符的语言,其中这三个字母不是给定行上的第一个命令字符(比照批处理文件中的
@REM

@jcolebrand确实。
Leigh Riffel


0

不,根本没有区别。


1
为什么要使用两种注释样式?
Lazer

@Lazer:我希望向后兼容
Gaius

1
我相信REM仅对SQLPlus工具有效,而-和/ ** /均来自该语言,它们也可用于MS SQL-例如TSQL。
玛丽安
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.