PL / SQL Anonymous Block

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:

anonymer PL/SQL-Block

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:

Beispiel für einen anonymen PL / SQL-Block

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:

 plsql anonymer block - Führen Sie einen Block erneut aus

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:

plsql anonymer Block - edit

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:

 anonymer plsql-Block - Ausführen

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.

PL/SQL anonymer Block - SQL Entwickler
 PL / SQL anonymer Block - SQL developer - SQL-Datei erstellen

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.

PL/SQL anonymous block - SQL developer - execute PL/SQL Block

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



+