PL/SQL-Block: STRUKTUR, Syntax, ANONYMES Beispiel

Was ist ein PL/SQL-Block?

In PL/SQL wird der Code nicht im Einzelzeilenformat ausgeführt, sondern immer durch Gruppieren des Codes in einem einzelnen Element namens Blocks. In diesem Tutorial erfahren Sie mehr über diese Blöcke.

Blöcke enthalten sowohl PL/SQL- als auch SQL-Anweisungen. Alle diese Anweisungen werden als Ganzes ausgeführt, anstatt jeweils eine einzelne Anweisung auszuführen.

Blockstruktur

PL/SQL-Blöcke haben eine vordefinierte Struktur, in der der Code gruppiert werden soll. Nachfolgend finden Sie verschiedene Abschnitte von PL/SQL-Blöcken.

  1. Deklarationsabschnitt
  2. Ausführungsabschnitt
  3. Abschnitt zur Ausnahmebehandlung

Das folgende Bild veranschaulicht die verschiedenen PL/SQL-Blöcke und ihre Abschnittsreihenfolge.

Blockstruktur

Deklarationsabschnitt

Dies ist der erste Abschnitt der PL/SQL-Blöcke. Dieser Abschnitt ist ein optionaler Teil. Dies ist der Abschnitt, in dem die Deklaration von Variablen, Cursorn, Ausnahmen, Unterprogrammen, Pragma-Anweisungen und Sammlungen deklariert wird, die im Block benötigt werden. Nachfolgend finden Sie einige weitere Merkmale dieses Teils.

  • Dieser spezielle Abschnitt ist optional und kann übersprungen werden, wenn keine Deklarationen erforderlich sind.
  • Dies sollte der erste Abschnitt in einem PL/SQL-Block sein, falls vorhanden.
  • Dieser Abschnitt beginnt mit dem Schlüsselwort „DECLARE“ für Trigger und anonyme Blockierung. Für andere Unterprogramme ist dieses Schlüsselwort nicht vorhanden. Stattdessen markiert der Teil nach der Definition des Unterprogrammnamens den Deklarationsabschnitt.
  • Auf diesen Abschnitt sollte immer der Ausführungsabschnitt folgen.

Ausführungsabschnitt

Der Ausführungsteil ist der wichtigste und obligatorische Teil, der den darin geschriebenen Code tatsächlich ausführt. Seit der PL / SQL erwartet die ausführbaren Anweisungen von diesem Block. Dies kann kein leerer Block sein, dh er sollte mindestens eine gültige ausführbare Codezeile enthalten. Nachfolgend finden Sie einige weitere Merkmale dieses Teils.

  • Dies kann sowohl PL/SQL-Code als auch SQL-Code enthalten.
  • Dieser kann einen oder mehrere Blöcke als verschachtelten Block darin enthalten.
  • Dieser Abschnitt beginnt mit dem Schlüsselwort „BEGIN“.
  • Auf diesen Abschnitt sollte entweder „END“ oder der Abschnitt „Ausnahmebehandlung“ folgen (falls vorhanden).

Abschnitt zur Ausnahmebehandlung

Die Ausnahme ist im Programm unvermeidbar, die zur Laufzeit auftritt und diese behandelt Oracle hat einen Abschnitt zur Ausnahmebehandlung in Blöcken bereitgestellt. Dieser Abschnitt kann auch PL/SQL-Anweisungen enthalten. Dies ist ein optionaler Abschnitt der PL/SQL-Blöcke.

  • Dies ist der Abschnitt, in dem die im Ausführungsblock ausgelöste Ausnahme behandelt wird.
  • Dieser Abschnitt ist der letzte Teil des PL/SQL-Blocks.
  • Die Kontrolle von diesem Abschnitt aus kann niemals zum Ausführungsblock zurückkehren.
  • Dieser Abschnitt beginnt mit dem Schlüsselwort „EXCEPTION“.
  • Auf diesen Abschnitt sollte immer das Schlüsselwort „END“ folgen.

Das Schlüsselwort „END“ markiert das Ende des PL/SQL-Blocks.

PL/SQL-Blocksyntax

Nachfolgend finden Sie die Syntax der PL/SQL-Blockstruktur.

PL/SQL-Blocksyntax

DECLARE --optional
    <declarations>

BEGIN   --mandatory
    <executable statements. At least one executable statement is mandatory>

EXCEPTION --optional 
    <exception handles>

END;   --mandatory
/

Hinweis: Auf einen Block sollte immer ein „/“ folgen, der dem Compiler die Information über das Ende des Blocks sendet.

Arten von PL/SQL-Block

Es gibt hauptsächlich zwei Arten von PL/SQL-Blöcken.

  1. Anonyme Blöcke
  2. Benannte Blöcke

Anonyme Blöcke

Anonyme Blöcke sind PL/SQL-Blöcke, denen kein Name zugewiesen ist. Sie müssen in derselben Sitzung erstellt und verwendet werden, da sie nicht als Datenbankobjekte auf dem Server gespeichert werden.

Da sie nicht in der Datenbank gespeichert werden müssen, sind keine Kompilierungsschritte erforderlich. Sie werden direkt geschrieben und ausgeführt, und Kompilierung und Ausführung erfolgen in einem einzigen Prozess.

Nachfolgend sind einige weitere Merkmale von Anonymous-Blöcken aufgeführt.

  • Für diese Blöcke ist kein Referenzname angegeben.
  • Diese Blöcke beginnen mit dem Schlüsselwort „DECLARE“ oder „BEGIN“.
  • Da diese Blöcke keinen Referenznamen haben, können sie nicht für spätere Zwecke gespeichert werden. Sie müssen in derselben Sitzung erstellt und ausgeführt werden.
  • Sie können die anderen benannten Blöcke aufrufen, der Aufruf eines anonymen Blocks ist jedoch nicht möglich, da dieser über keine Referenz verfügt.
  • Es kann einen verschachtelten Block enthalten, der benannt oder anonym sein kann. Es kann auch in beliebigen Blöcken verschachtelt werden.
  • Diese Blöcke können alle drei Abschnitte des Blocks haben, wobei der Ausführungsabschnitt obligatorisch ist und die anderen beiden Abschnitte optional sind.

Benannte Blöcke

Benannte Blöcke haben einen spezifischen und eindeutigen Namen. Sie werden als Datenbankobjekte auf dem Server gespeichert. Da sie als Datenbankobjekte verfügbar sind, können sie aufgerufen oder verwendet werden, solange sie auf dem Server vorhanden sind. Der Kompilierungsprozess für benannte Blöcke erfolgt separat, während sie als Datenbankobjekte erstellt werden.

Nachfolgend finden Sie einige weitere Merkmale benannter Blöcke.

  • Diese Bausteine ​​können von anderen Bausteinen aus aufgerufen werden.
  • Die Blockstruktur ist die gleiche wie bei einem anonymen Block, außer dass er niemals mit dem Schlüsselwort „DECLARE“ beginnt. Stattdessen beginnt es mit dem Schlüsselwort „CREATE“, das den Compiler anweist, es als Datenbankobjekt zu erstellen.
  • Diese Blöcke können in anderen Blöcken verschachtelt werden. Es kann auch verschachtelte Blöcke enthalten.
  • Es gibt grundsätzlich zwei Arten von benannten Blöcken:
  1. Ablauf
  2. Funktion

Wir werden in späteren Tutorials in den Themen „Prozedur“ und „Funktion“ mehr über diese benannten Blöcke erfahren.

Zusammenfassung

Nach diesem Tutorial sollten Sie PL/SQL-Blöcke und ihre Typen, verschiedene Blockabschnitte und ihre Verwendung kennen. Die detaillierte Beschreibung der benannten PL/SQL-Blöcke wird im späteren Tutorial behandelt.