Anmelden

View Full Version : Select * from :myLib.mytable als Hostvariable möglich?



becama
29-04-24, 15:05
Hi *all,

kann man beim select * from den Libnamen als hostvariable in RPG angeben?
Die Tabelle liegt in diversen Bibliotheken, deren Namen ich dem Select in einer Schleife übergeben will.
Wenn ich :myLib angebe erscheint der sqlfehler 0312 So ein Mist.
Gibt's da einen Trick?

Danke

B.Hauser
29-04-24, 15:24
NEIN, das ist nicht möglich!
In diesem Fall muss dynamisches SQL verwendet werden.
Alternativ könnte auch mit einem klassischen OVRDBF die Datenbanken-Datei in der entsprechenden Bibliothek überschrieben werden.

Fuerchau
30-04-24, 08:47
Ja, der Trick heißt dynamisches SQL.
Also den ganzen SQL in einen String packen, Preparen und dann ganz normal Open/Fetch/Close.
Es klappen sogar Parameter mit "?", die man dann mittels USING-Klausel dranhängen kann.

B.Hauser
30-04-24, 12:41
Es klappen sogar Parameter mit "?", die man dann mittels USING-Klausel dranhängen kann.
... aber nicht für Dateien/Tabellen und Bibliotheken/Schemas!
Wenn Dateien/Bibliotheken ausgetauscht werden sollen ist IMMER ein PREPARE erforderlich!

Fuerchau
30-04-24, 15:51
Nun ja, selbstverständliches lohnt sich ja nicht zu erwähnen;-), da ja ein Parameter eben eine Hostvariable ist.