Anmelden

View Full Version : Kommentar in SQL-Statement setzen



Tobse77
17-07-08, 15:59
Hallo zusammen,

ich habe ein recht großes SQL-Insert-Statement in meinem RPGLE-Programm (Freiformat) und würde ein paar der SQL-Zeilen gerne kommentieren.

Kann ich diese bedenkenlos mit // einbinden - wie im RPGLE-Code auch - oder funktioniert dies anders??

Fuerchau
17-07-08, 16:03
SQL-Kommentare mit --

exec sql
select ... -- Diverses Felder
from file -- Hauptdatei
where ... -- Auswahl
order by -- Sort ;

Tobse77
17-07-08, 16:05
Vielen Dank für die prompte Antwort !!!!

B.Hauser
18-07-08, 09:21
/* Kommentar */ sollte auch funktionieren.

Im Gegensatz zu -- kann man bei /* */ in der gleichen Zeile nochmals SQL-Code angeben.

Birgitta

Tobse77
18-07-08, 12:28
Danke für die Antwort Birgitta.

Habe inzwischen durch Probieren herausgefunden, dass auch die Kommentare mit // eingeleitet, als solche erkannt werden.

Fuerchau
18-07-08, 12:31
Wobei // nur für Free-RPG gilt.
-- funktioniert aber in allen SQL-Umgebungen, auch z.B. in QMQRY-Objekten.
/* ... */ funktioniert ab V5R1, sollte aber nach Möglichkeit nicht verwendet werden.

B.Hauser
21-07-08, 08:41
/* ... */ funktioniert ab V5R1, sollte aber nach Möglichkeit nicht verwendet werden.

Warum?
Ich habe in keiner der vielfältigen Referenzen einen Hinweis darauf gefunden, dass /* */ nicht verwendet werden sollte.

Birgitta

Fuerchau
21-07-08, 10:31
Wenn du es auf die DB2 beschränkst, stimme ich zu, allerdings gilt dies nicht für alle SQL-Dialekte.

Da /* über mehrere Zeilen eben bis zum */ gilt, gibts eher gedankliche Probleme, da der SEU ja nun mal dies nicht optisch unterstützt.
Andere Editoren sind da meist komfortabler, so dass man Fehler in der Kommentierung besser erkennen kann.

Ausserdem gibts da noch ein (kleines) Problem.
Wenn ich z.B. /*-Kommentare per ODBC verwende, sind diese beim Senden an die AS/400 eingebettet. "--"-Kommantare werden automatisch vom ODBC/OLEDB-Treiber entfernt.

Ich habe noch nicht probiert, wie das im eingebetteten SQL aussieht.
Wenn man dann mit verteilten Datenbanken (WRKRDBDIRE) arbeitet könnte es sein, dass der /*-Kommentar an die Ziel-DB mit übermittelt wird und dort dann nicht verstanden wird.

PCSACC/400 hatte da nämlich auch mal ein Problem, dass eben der /*-Kommentar über die Schnittstelle (WRKREGINF) an das Programm weitergegeben wurde und nicht erkannt wurde.
Wie andere. ähnliche Programme reagieren, entzieht sich mir.

Wie gesagt:
"--"-Kommentare sind sicherer.

BenderD
21-07-08, 11:08
soweit ich orientiert bin, unterstützt ANSI SQL sowohl den C Style mit /* mein Kommentar */ als auch -- mein Kommentar
wobei letzterer dann bis Zeilenende geht.
Was da ein Treiber oder irgendeine Software drausmachen, dafür kann SQL nix! Was da die Sicherheit der Verwendung angeht, ist die -- Variante eher zweischneidig, weshalb einige Implementierungen hinter -- ein Leerzeichen fordern. /* */ ist wohl gerade wg. SQL Compliance in DB2/400 aufgenommen worden.

mein Fazit: gutes Design kommt (meist) mit wenig Kommentaren aus und welche Syntax man dann wählt, ist eigentlich Banane.

D*B


Wenn du es auf die DB2 beschränkst, stimme ich zu, allerdings gilt dies nicht für alle SQL-Dialekte.

Da /* über mehrere Zeilen eben bis zum */ gilt, gibts eher gedankliche Probleme, da der SEU ja nun mal dies nicht optisch unterstützt.
Andere Editoren sind da meist komfortabler, so dass man Fehler in der Kommentierung besser erkennen kann.

Ausserdem gibts da noch ein (kleines) Problem.
Wenn ich z.B. /*-Kommentare per ODBC verwende, sind diese beim Senden an die AS/400 eingebettet. "--"-Kommantare werden automatisch vom ODBC/OLEDB-Treiber entfernt.

Ich habe noch nicht probiert, wie das im eingebetteten SQL aussieht.
Wenn man dann mit verteilten Datenbanken (WRKRDBDIRE) arbeitet könnte es sein, dass der /*-Kommentar an die Ziel-DB mit übermittelt wird und dort dann nicht verstanden wird.

PCSACC/400 hatte da nämlich auch mal ein Problem, dass eben der /*-Kommentar über die Schnittstelle (WRKREGINF) an das Programm weitergegeben wurde und nicht erkannt wurde.
Wie andere. ähnliche Programme reagieren, entzieht sich mir.

Wie gesagt:
"--"-Kommentare sind sicherer.