PDA

View Full Version : Benannte Konstante in Embedded SQL



Tschabo
31-10-14, 12:15
Hallo,

kann man in einem embedded SQL auch eine benannte Konstante angeben und wenn ja wie?

D #CSE C CONST('SE')

c/exec sql
c+ UPDATE datei
c+ SET adland = 'CH'
c+ WHERE adanr = :#cse ????????
c/end-exec

Fuerchau
31-10-14, 14:00
D #CSE S 2 INZ('SE')
Konstanten sind keine Variablen!

B.Hauser
01-11-14, 17:04
Dumme Frage:
Warum willst Du eine Konstante wie eine Variable behandeln, anstatt die Konstante direkt in der WHERE-Anweisung anzugeben?


c/exec sql
c+ UPDATE datei
c+ SET adland = 'CH'
c+ WHERE adanr = 'SE'
c/end-exec

Wenn es sich um einen fixen Wert handeln sollte, kannst Du notfalls eine entsprechende (alphanumerische) Variable generieren und diese unmittelbar vor dem SQL Statement mit dem gewünschten Wert initialisieren.

Birgitta

Tschabo
03-11-14, 07:22
Richtig Brigitta - das war eine dumme Frage, aber Der Hintergrund war folgender.

Mein Vorgesetzter hat eine Copystrecke erstellt in der er alle vorkommenden Konstante definiert hat.
D #CSE C CONST('SE')
D #CAV C CONST('AV')
usw.

Nun sollen alle fest definierten Konstanten (z.B.: 'SE') durch die benannten Konstanten aus der Copystrecke ersetzt werden. Dabei bin ich auf das SQL gestossen. Mir war eigentlich schon klar dass das nicht funktionieren kann, aber ich wollte einfach mal nachfragen ob das doch vielleich irgendwie möglich ist.

Fuerchau
03-11-14, 07:26
Auch hier nur indirekt:
D #SQLCSE S 2 inz(#CSE)