SQL: dynamisches Select ohne Cursor

5. Dezember 2013 | Von | Kategorie: Tools, Hot-Tips

In einem System iNetwork Forum tauchte die Frage auf, ob in SQL eine dynamische Select-Anweisung ausgeführt werden kann, ohne zuvor einen Cursor zu definieren. Birgitta Hauser hatte dazu eine Lösung vorgeschlagen.

pa12_cvs_IMG_6942VON SCOTT KLEMENT

Der Trick ist, die Select-Anweisung innerhalb einer Values-Anweisung unterzubringen. Angenommen die folgende statische SQL-Abfrage soll, aus welchen Gründen auch immer, in eine dynamische umgewandelt werden:

exec SQL Select PERSNAME into :PersonalName
from MITARBPF
where PERSNR=:PersonalNr

In dem Programm werden zunächst folgende Variablen definiert:

D Tabelle s 21a inz(‘MITARBPF‘)
D PersonalNr s 5p 0 inz(12345)
D PersonalName s 25a
D SQL_VALUES s 1000a varying

Da der Dateiname als Variable Tabelle definiert wurde, könnte dieser sogar vor der Ausführung der SQL Anweisungen geändert werden:

Scott Klement ist technischer Redakteur für NEWSolutions. Außerdem ist er IS Manager der Klement Sausage Co., Inc. Sie erreichen ihn unter iSN (ät) Scott-Klement.com.

Schlagworte: , , , , , , ,

Schreibe einen Kommentar

Sie müssen eingeloggt sein, um einen Kommentar schreiben.