it-swarm.com.de

Gibt es einen Unterschied zwischen Rem und - Kommentaren für SQL * Plus?

In der SQL * Plus-Eingabeaufforderung werden sowohl Rem als auch -- als Kommentarindikatoren qualifizieren:

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

Gibt es überhaupt einen Unterschied zwischen den beiden Kommentiertechniken?

13
Lazer

Der Unterschied ist, dass -- und /* */ kann in einem PL/SQL-Block verwendet werden, während REM[ARK] kann nicht. Folgendes funktioniert in SQL * Plus:

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

Diese werden nicht:

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

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

Die 11.2 Dokumentation zu allen Kommentartypen enthält weitere Kommentarinformationen. Die Grundlagen sind ...

Sie können Kommentare auf drei Arten in ein Skript eingeben:

  • verwenden des Befehls SQL * Plus REMARK für einzeilige Kommentare.

  • verwenden der SQL-Kommentarbegrenzer/* ... */für ein- oder mehrzeilige Kommentare.

  • verwenden von ANSI/ISO-Kommentaren (American National Standards Institute/International Standards Organization) - - für einzeilige Kommentare.

Die Dokumentation enthält auch Hinweise zu vier Stellen, an denen Kommentare nicht verwendet werden sollten, die jedoch keine weiteren Unterschiede enthalten.

18
Leigh Riffel

REM wird unterstützt, da MS BATCH-Dateien kommentiert werden und dieses Tool in Automatisierungsumgebungen verwendet wird.

- wird unterstützt, da es Teil des SQL-Standards ist. ( http://www.contrib.andrew.cmu.edu/~shadow/sql/sql1992.txt Seite 83 vgl. <comment introducer> ::= <minus sign><minus sign>[<minus sign>...])

2
jcolebrand

Nein, es sollte überhaupt keinen Unterschied geben.

0
mrdenny