Y a-t-il une différence entre Rem et - commentaires pour SQL * Plus?


12

À l'invite SQL * Plus, les deux Remet sont --considérés comme des indicateurs de commentaire:

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

Y a-t-il une différence entre les deux techniques de commentaire?


1
Et n'oubliez pas que / * commentaire * / est également valable.
Gaius

Réponses:


17

La différence est que --et /* */peut être utilisé dans un bloc PL / SQL, alors que REM[ARK]non. Les éléments suivants fonctionneront dans SQL * Plus:

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

Ceux-ci ne:

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

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

La documentation 11.2 sur tous les types de commentaires contient plus d'informations sur les commentaires. Les bases sont ...

Vous pouvez saisir des commentaires dans un script de trois manières:

  • en utilisant la commande SQL * Plus REMARK pour les commentaires sur une seule ligne.

  • en utilisant les délimiteurs de commentaires SQL / * ... * / pour les commentaires sur une ou plusieurs lignes.

  • en utilisant les commentaires ANSI / ISO (American National Standards Institute / International Standards Organisation) - - pour les commentaires sur une seule ligne.

La documentation comprend également des notes sur quatre endroits où les commentaires ne doivent pas être utilisés, mais ceux-ci n'incluent pas d'autres différences.


Pour être honnête, je n'ai jamais rencontré de langage qui prend en charge REM comme délimiteur de commentaire où ces trois lettres ne sont pas les premiers caractères de commande sur une ligne donnée (cf @REM dans les fichiers batch)
jcolebrand

@jcolebrand En effet.
Leigh Riffel


0

Non, il ne devrait y avoir aucune différence.


1
Pourquoi deux styles de commentaire alors?
Lazer

@Lazer: compatibilité descendante que j'attends
Gaius

1
Je crois que REM n'est valable que pour l'outil SQLPlus, alors que - et / ** / viennent du langage, ils fonctionnent aussi en MS SQL - TSQL par exemple.
Marian
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.