Quantcast
Channel: [NEWSboard IBMi Forum]
Viewing all articles
Browse latest Browse all 390

SQL Frage zu "execute immediate"

$
0
0
Hallo *All,

ich habe folgende Aufgabe :
es müssen max. 50 Pgm Variablen mit dem Wert aus einer Datei gefüllt werden.
Dazu wollte ich etwas schlauer sein und habe ich mir folgende Lösung ausgedacht :

D XCol01 S 3 0
:
:
D XCol50 S 3 0
D FTZhl S 3 0 (Zähler 1 - 50)

In der Do Schleife mache ich pro Lesevorgang :
FTZhl += 1;
SQLStm = 'Set :' + 'XCol' + %editc(FTZhl:'X') + ' = ' + %editc(XLAENGE:'Z');

EXEC SQL
execute immediate :SQLStm
;


Beim Debuggen sehe ich :

> EVAL sqlstm SQLSTM =
....5...10...15...20...25...30...35...40...45...50 ...55...60
'Set :XCol01 = 1
'

aber nach "execute" bekome ich SQLCODE = -312, Variable nicht deklariert oder nicht verwendbar.

Funktioniert "set " über "execute immediate" auf diese Weise nicht ?
Kann man das irgendwie anders (ohne IF's !) lösen ?

Schöne Grüsse

A. Wojcik

Viewing all articles
Browse latest Browse all 390