martinbulinski.de

Dynamisches SQL mit EXECUTE IMMEDIATE Drucken E-Mail
  
Mittwoch, 21. Januar 2009 um 14:27

Bisher waren wir in unseren PL/SQL Programmen auf statisches SQL angewiesen. Eine gewisse Dynamik brachte der Cursor, der mit Hilfe von Parametern die SELECT Anweisung innerhalb bestimmter Grenzen anpassen konnte. Aber auch das ist unbefriedigend. Und spätestens, wenn Sie ein DDL-Kommando innerhalb von PL/SQL ausführen wollen, sind wir komplett hilflos.

Gründe für den Einsatz von dynamischem SQL gibt es viele: Vielleicht steht der Name der Tabelle, aus der selektiert werden soll, erst zur Laufzeit fest, oder mehr noch, der Name der Tabelle soll als Argument beim Aufruf einer Prozedur übergeben werden. Dynamisches SQL kann benutzt werden, um alle meine Tabellen zu löschen. Besitze ich 50 Tabellen und will diese loswerden, tippe ich nicht 50mal drop table ein, sondern schreibe mir einen PL/SQL-Block, der das für mich übernimmt. Dynamisch.

Eigentlich müßte der Artikel "Dynamische Programmierung" heißen, denn es ist nicht nur dynamisches SQL, sondern auch dynamisches PL/SQL möglich. Früher hat man dynamisches SQL ausschliesslich über das Package DBMS_SQL realisieren können, heute ist es einfacher denn je: EXECUTE IMMEDIATE.

Sie müssen sich registrieren, um den Artikel zu lesen

 

 

Aktualisiert ( Mittwoch, 21. Januar 2009 um 19:29 )
 
Benutzerbewertung: / 3
SchwachPerfekt 

Kommentar schreiben


Sicherheitscode
Aktualisieren

Anmeldung



Wer ist online

Wir haben 4 Gäste online