PDA

View Full Version : SQL Insert Problem



pabloesco
17-12-19, 13:27
Hallo Forum,

Ich habe hier ein Problem mit meinem SQL - Statement. Ich habe hier ein CL - Programm und dort führe ich ein SQL - Statement aus. Leider setzt er die Variablen die ich zuvor im Command eingegeben habe nicht in ' ' und ich vermute das deshalb das SQL - Statement nicht richtig funktioniert. Beim debuggen wird mir bei der Variable auch nur ein weißes Feld angezeigt. Setze ich aber die Werte in '' bei der Eingabe im Command, werden die Variablen richtig übergeben. Wo liegt das Problem ?


VAR(&SQL) VALUE('insert into TEST (Nr1) +VALUES(''' *CAT &Nr2 *CAT ''')')

Edit: Das Problem mit den Variablen habe ich gelöst aber leider schlägt der SQL Aufruf fehl.
Ich bekomme folgende Fehlermeldung angezeigt: Anweisung enthält falsche Anzahl an Werten.

Fuerchau
17-12-19, 15:34
Vielleicht wirst du schlauer, wenn du den Inhalt von &SQL mal postest.
Das Ergebnis sollte sein:


insert into TEST (Nr1) VALUES('nr2')

wobei nr2 durch seinen Inhalt ersetzt sein sollte.

pabloesco
18-12-19, 08:24
Hallo,

hab grad nachgeschaut beim debuggen. Es sieht wie folgt aus:


insert into Test (Nr1) VALUES('Inhalt von Nr2')

Beim ausführen des CMD´s bekomme ich folgende Fehlermeldung:


/* Unterbrechungspunkt für nicht überwachte Nachricht bei Anweisung/Instruktion 87200 /054D Programm EXCSQLC Rekursionsebene 1 */

B.Hauser
18-12-19, 09:10
Wie führst Du denn das SQL Statement aus?
Mit dem CL-Befehl RUNSQL?
Wenn ja, wie sieht der Aufruf des Befehls RUNSQL aus?

Soweit ich allerdings aus der Fehlermeldung entnehmen kann, scheinst Du kein IBM-Standard-Programm/Befehl, sondern ein indivicuelles Programm zu verwenden. In diesem Fall solltest Du Dich mit dem Programmierer in Verbindung setzen (oder den INSERT mit RUNSQL ausführen)

Birgitta

pabloesco
18-12-19, 15:27
Hallo,

vielen Dank euch beiden. Ich konnte das Problem nun lösen. Es lag an dem Inhalt den ich mittels Command übergeben wollte. Das Feld war nur auf 2 Zeichen auslegt aber ich habe versucht 3 Zeichen zu übergeben. :rolleyes::rolleyes:

:-D