In einem Programm ist eine Kommentar ein Teil des Quelltextes, der vom System ignoriert wird. Kommentare werden aus zwei Gründen genutzt: (1) Um zukünftigen Lesern – inklusive uns selbst – Hintergrundinformationen zu hinterlassen; (2) Um einen Teil des Quelltextes zu deaktivieren, ohne ihn schon zu löschen – das sogenannte auskommentieren. SQL kennt natürlich auch Kommentare.
Obwohl SQL Kommentare vom DBMS generell ignoriert werden, haben sie zwei erwähnenswerte Nebenwirkungen: Der erste ist, dass Standard-SQL Kommentare nicht wirklich ignoriert, sondern als Token-Separator interpretiert – also wie ein Leerraum. Die zweite Nebenwirkung ist, dass manche Systeme nach speziellen Instruktionen im Kommentar suchen – sogenannte Hints. Hints sind jedoch nicht standardisiert und werden daher an dieser Stelle nicht weiter behandelt. Ich habe allerdings auf Use The Index, Luke! etwas darüber geschrieben.
Standard SQL bietet zwei Arten von Kommentaren an: Die erste startet mit zwei Bindestrichen (--) und kommentiert alles bis zum Ende der Zeile. Die andere startet mit Schrägstrich-Stern (/*) und endet mit Stern-Schrägstrich (*/). Das könnte dich an Kommentare in anderen Programmiersprachen erinnern. Ein unterschied zu anderen Programmiersprachen ist jedoch, dass die zweite Art der Kommentare in SQL verschachtelt werden kann. Das ist besonders nützlich, wenn man einen Teil auskommentieren möchte, der bereits solche Kommentare enthält.
- Nur mit Leerraum nach
--. Vermeidet die Mehrdeutigkeit zu-(-<integer literal>) - Ohne Verschachtelung
- Außer direkt nach
select:select/**/* - Das
#-Zeichen ist der Bitweise-Exklusive-Oder-Operator (xor)
Natürlich erlagen manche Hersteller der Versuchung auch andere Kommentar-Arten aus anderen Programmiersprachen zu übernehmen. Natürlich können diese bei anderen Systemen etwas völlig anderes bewirken.
Siehe Auch
- Standard Features
- Implementierungs-definierte Element
IV075, „The end-of-line indicator (newline)“
Normative Referenzen
Den Minus-Minus-Kommentar (--) gab es bereits in SQL:1989. Der /*…*/-Kommentar wurde mit ISO/IEC 9075-2:1999 als optionale Funktion T351, „Bracketed comments“ eingeführt.

