next up previous contents
Next: ODBC Up: SQL Previous: Statisches SQL

Dynamisches SQL

Dynamisches SQL erlaubt die Definition und Ausführung von SQL-Anweisungen zur Laufzeit. Teile der Anweisungen befinden sich in Programmvariablen, die ihre Werte zur Laufzeit natürlich ändern können. Es sind somit komplexere und sehr flexible Programme unter Einbeziehung von Benutzereingaben zur Laufzeit möglich (der Benutzer kann zum Beispiel die Suchbedingung einer WHERE-Klausel interaktiv eingeben). Innerhalb einer SQL-Anweisung steht ein Fragezeichen für einen Platzhalter eines Variablenwerts.

Normalerweise wird die Ausführung von Befehlen in dynamischem SQL mit PREPARE vorbereitet und anschließend mit EXECUTE ausgeführt. Diese beiden Schritte können zu EXECUTE IMMEDIATE kombiniert werden.

Dynamisches SQL hat allerdings neben dem Vorteil der Flexibilität auch einige Nachteile:

Dynamisches SQL ist aber notwendig, wenn die Anwendung zum Zeitpunkt der Übersetzung die auszuführende SQL-Anweisung, die Anzahl und die Datentypen der Hostvariablen oder die Namen der Datenbankobjekte (Tabellen, Sichten, Spalten, Indizes, Benutzernamen) nicht kennt.

Je nachdem, was alles zur Übersetzungszeit nicht bekannt ist, was also dynamisch ist, ist die Programmierung von dynamischem SQL mehr oder weniger aufwendig.



next up previous contents
Next: ODBC Up: SQL Previous: Statisches SQL



Christoph Steindl
Thu Jul 24 14:37:19 MET DST 1997