PDA

View Full Version : DB2 und Kommentare in SQL



Seiten : [1] 2

marty
29-08-11, 15:36
Hallo zusammen,

wenn ich einen Kommentar in meinem SQL Statement habe, bekomme ich eine Fehlermeldung, das folgende Statement liefert einen Fehler:

SELECT Name --Usernames
FROM TABELLE

Token <ENDE DER ANWEISUNG> ungültig. Gültige Token: ( +

Auch bei Kommentaren mit /* */ passiert das - ist das bei Euch auch so?

Fuerchau
29-08-11, 15:38
Kommentare werden nur bei embedded SQL unterstützt (bzw. RUNSQLSTM, QM-Query), bei STRSQL geht das leider nicht.

marty
29-08-11, 15:52
Oh, OK - Danke. Ich dachte ich hätte schonmal was mit Kommentaren versehen und es hätte geklappt...

rmittag
29-08-11, 15:53
Ist vielleicht release abhängig?

Modell 150 V4R5M0:



SQL-Anweisungen eingeben

SQL-Anweisung eingeben und Eingabetaste drücken.
> select * /* üüüüüüüü */
from sdr4.sdccrep
SELECT-Anweisung vollständig verarbeitet.

Fuerchau
29-08-11, 15:55
Dann habe die ja mal wieder verschlimmbessert, aktuell auf V6R1 gehts nicht mehr.

marty
29-08-11, 16:21
Nicht ganz, auf meiner V6R1M0 akzeptiert DB2 Kommentare, aber nur wenn sie direkt nach dem ersten Feld im SELECT stehen:
Geht:
SELECT Feld --Kommentar
FROM

Geht auch:
SELECT --Kommentar
Feld
FROM

Geht nicht:
SELECT Feld
,Feld2 --Kommentar
FROM

Pikachu
29-08-11, 16:31
V5R4

STRSQL


SQL-Anweisungen eingeben

SQL-Anweisung eingeben und Eingabetaste drücken.
> SELECT Feld --Kommentar
FROM TABELLE
Token <ENDE DER ANWEISUNG> ungültig. Gültige Token: + - AS <IDENTIFI

BenderD
29-08-11, 16:46
> select intnn
, charnn
from testtyp -- geht nur in letzter Zeile
SELECT statement run complete.


... scheint in RPG (RatenProbierenGeht - nicht)
implementiert zu sein

Fuerchau
29-08-11, 17:06
SQL unterstützt 2 Arten von Kommentaren:

/* xxxx */
-- xxxxxx (Zeilenende)

Da STRSQL kein Zeilenendezeichen einfügt (man kann das ausprobieren in dem man den SQL über das Zeilenende einfach weiterschreibt), erklärt sich warum "--"-Kommentar nur am Ende funktioniert.

"/* xxx */"-Kommentare funktionieren beliebig, da sie ja definiert zu Ende sind.

marty
29-08-11, 17:26
Das mit -- als Zeilenende ist nachvollziehbar, aber /* */ funzt auch nicht immer (V6R1):

SELECT
firma
,user
FROM
tabelle /*Produktkatalogdaten*/
,tabelle2
Token <ENDE DER ANWEISUNG> ungültig. Gültige Token: + - AS <IDENTIFI