Zusammenfassung: In diesem Tutorial erfahren Sie mehr über den PL / SQL anonymous Block und wie Sie ihn mit SQL* Plus und SQL Developer Tools ausführen.
PL / SQL anonyme Blockübersicht
PL / SQL ist eine blockstrukturierte Sprache, deren Code in Blöcken organisiert ist. Ein PL / SQL-Block besteht aus drei Abschnitten: Deklarations-, ausführbare und Ausnahmebehandlungsabschnitte. In einem Block ist der ausführbare Abschnitt obligatorisch, während die Deklarations- und Ausnahmebehandlungsabschnitte optional sind.
Ein PL/SQL-Block hat einen Namen. Funktionen oder Prozeduren sind ein Beispiel für einen benannten Block. Ein benannter Block wird auf dem Oracle-Datenbankserver gespeichert und kann später wiederverwendet werden.
Ein Block ohne Namen ist ein anonymer Block. Ein anonymer Block wird nicht auf dem Oracle-Datenbankserver gespeichert und dient daher nur zur einmaligen Verwendung. Anonyme PL / SQL-Blöcke können jedoch zu Testzwecken nützlich sein.
Das folgende Bild veranschaulicht die Struktur eines PL/SQL-Blocks:
1) Deklarationsabschnitt
Ein PL / SQL-Block verfügt über einen Deklarationsabschnitt, in dem Sie Variablen deklarieren, Speicher für Cursor zuweisen und Datentypen definieren.
2) Ausführbarer Abschnitt
Ein PL / SQL-Block hat einen ausführbaren Abschnitt. Ein ausführbarer Abschnitt beginnt mit dem Schlüsselwort BEGIN
und endet mit dem Schlüsselwort END
. Der ausführbare Abschnitt muss mindestens eine ausführbare Anweisung enthalten, auch wenn es sich um die NULL
-Anweisung handelt, die nichts bewirkt.
3) Abschnitt zur Ausnahmebehandlung
Ein PL / SQL-Block verfügt über einen Abschnitt zur Ausnahmebehandlung, der mit dem Schlüsselwort EXCEPTION
beginnt. Im Abschnitt zur Ausnahmebehandlung fangen und behandeln Sie Ausnahmen, die vom Code im Abschnitt Ausführung ausgelöst werden.
Hinweis Ein Block selbst ist eine ausführbare Anweisung, daher können Sie einen Block in andere Blöcke verschachteln.
PL/SQL anonymer Block Beispiel
Das folgende Beispiel zeigt einen einfachen PL/SQL anonymen Block mit einem ausführbaren Abschnitt.
Der Abschnitt executable ruft die Prozedur DMBS_OUTPUT.PUT_LINE
auf, um die Meldung "Hello World"
auf dem Bildschirm anzuzeigen.
Ausführen eines anonymen PL / SQL-Blocks mit SQL*Plus
Sobald Sie den Code eines anonymen Blocks haben, können Sie ihn mit SQL*Plus ausführen, einer Befehlszeilenschnittstelle zum Ausführen von SQL-Anweisungen und PL / SQL-Blöcken, die von Oracle Database bereitgestellt werden.
Das folgende Bild zeigt, wie ein PL/SQL-Block mit SQL*Plus ausgeführt wird:
Stellen Sie zunächst mit einem Benutzernamen und einem Kennwort eine Verbindung zum Oracle-Datenbankserver her.
Schalten Sie zweitens die Serverausgabe mit dem Befehl SET SERVEROUTPUT ON
ein, damit die Prozedur DBMS_OUTPUT.PUT_LINE
Text auf dem Bildschirm anzeigt.
Drittens geben Sie den Code des Blocks ein und geben Sie einen Schrägstrich ( /
) ein, um SQL*Plus anzuweisen, den Block auszuführen. Sobald Sie den Schrägstrich (/) eingegeben haben, führt SQL *Plus den Block aus und zeigt die Meldung Hello World
auf dem Bildschirm an, wie in den Abbildungen gezeigt.
Beachten Sie, dass Sie den Befehl SET SERVEROUTPUT ON
in jeder Sitzung ausführen müssen, die Sie mit der Oracle-Datenbank verbinden, um die Nachricht mit der Prozedur DBMS_OUTPUT.PUT_LINE
anzuzeigen.
Um den von Ihnen eingegebenen Block erneut auszuführen, verwenden Sie den Befehl /
, anstatt alles von Grund auf neu einzugeben:
Wenn Sie den Codeblock bearbeiten möchten, verwenden Sie den Befehl edit
. SQL *Plus schreibt den Codeblock in eine Datei und öffnet ihn in einem Texteditor, wie im folgenden Bild gezeigt:
Sie können den Inhalt der Datei wie folgt ändern:
Und speichern und schließen Sie die Datei. Der Inhalt der Datei wird in den Puffer geschrieben und neu kompiliert.
Danach können Sie den Codeblock erneut ausführen, er verwendet den neuen Code:
Ausführen eines anonymen PL / SQL-Blocks mit SQL Developer
Stellen Sie zunächst mit Oracle SQL Developer eine Verbindung zum Oracle-Datenbankserver her.
Erstellen Sie zweitens eine neue SQL-Datei mit dem Namen anonymous-block.sql
im Verzeichnis C:\plsql
, in der der PL / SQL-Code gespeichert wird.
Geben Sie drittens den PL / SQL-Code ein und führen Sie ihn aus, indem Sie auf die Schaltfläche Ausführen klicken oder die Tastenkombination Strg-Eingabetaste drücken.
Weitere PL/SQL anonymous Block Beispiele
In diesem Beispiel deklarieren wir zuerst eine Variable l_message
, die die Begrüßungsnachricht enthält. Im Ausführungsabschnitt verwenden wir dann die Prozedur DBMS_OUTPUT.PUTLINE
, um den Inhalt dieser Variablen anzuzeigen, anstatt eine Literalzeichenfolge zu verwenden.
Hier ist die Ausgabe:
Hello World!
Das nächste anonyme Blockbeispiel fügt einen Abschnitt zur Ausnahmebehandlung hinzu, der die im ausführbaren Abschnitt ausgelöste Ausnahme ZERO_DIVIDE
abfängt und eine Fehlermeldung anzeigt.
Die Fehlermeldung lautet:
ORA-01476: divisor is equal to zero
Jetzt sollten Sie wissen, wie Sie anonyme PL / SQL-Blöcke erstellen und mit SQL * Plus- und Oracle SQL Developer-Tools ausführen.
- War dieses Tutorial hilfreich?
- JaNein