PDA

View Full Version : Dynamisches SQL



loeweadolf
15-11-05, 10:55
Ich versuche in einem RPG mit embedded SQL die Anzahl Sätze einer Datei Datei zu ermitteln. Der Datei-Name ist variabel.

Folgendes habe ich definiert:
D befehl ds
d a ..... 29a inz('SELECT COUNT(*) INTO :COUNT ')
d b ..... 5a inz('FROM ')
d DATEI 10a

d count ..s ....7 0
d hostvar s ..256a

Datei = Eingabe
HostVar = Befehl


/exec sql
+ execute immediate :HOSTVAR
/end-exec


Im Joblog wude folgendes gesagt:
Variable COUNT nicht definiert ode rnicht anwendbar
SQL0312

Was muss ich machen, damit es funktioniert ?


mfg Ludger

B.Hauser
15-11-05, 11:00
Select ... into wird NICHT im Dynamischen SQL unterstützt.

Auch wenn Du genau einen Wert zurückerhälst, musst Du einen Cursor definieren, öffen, mit Fetch einlesen und anschließend wieder schließen.

Birgitta

loeweadolf
15-11-05, 11:45
Hallo Birgitta,

vielen Dank für die Unterstützung.

Ich habe noch was von einem PREPARE gelesen,
was ich dann auch noch eingebaut habe.

Die SQL-Anweisungen bestehen jetzt aus:

PREPARE (mit der dynamischen Host-Variablen)
DECLARE
OPEN
FETCH
CLOSE

und es funktioniert.


Ludger