Was ist ein PL / SQL-Block?
In PL / SQL wird der Code nicht im einzeiligen Format ausgeführt, sondern immer durch Gruppieren des Codes in einem einzelnen Element namens Blocks. In diesem Tutorial lernen Sie diese Blöcke kennen.
Blöcke enthalten sowohl PL / SQL- als auch SQL-Anweisungen. Alle diese Anweisungen werden als Ganzes ausgeführt, anstatt jeweils nur eine Anweisung auszuführen.
In diesem Tutorial lernen Sie:
- Was ist ein PL / SQL-Block?
- Blockstruktur
- PL / SQL-Blocksyntax
- Arten von PL / SQL-Blöcken
Blockstruktur
PL / SQL-Blöcke haben eine vordefinierte Struktur, in der der Code gruppiert werden soll. Unten finden Sie verschiedene Abschnitte von PL / SQL-Blöcken.
- Deklarationsabschnitt
- Ausführungsabschnitt
- Abschnitt zur Ausnahmebehandlung
Das folgende Bild zeigt die verschiedenen PL / SQL-Blöcke und ihre Abschnittsreihenfolge.
Deklarationsabschnitt
Dies ist der erste Abschnitt der PL / SQL-Blöcke. Dieser Abschnitt ist ein optionales Teil. In diesem Abschnitt wird die Deklaration von Variablen, Cursorn, Ausnahmen, Unterprogrammen, Pragma-Anweisungen und Sammlungen deklariert, die im Block benötigt werden. Nachfolgend sind einige weitere Merkmale dieses Teils aufgeführt.
- 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 anonymen Block. Bei anderen Unterprogrammen ist dieses Schlüsselwort nicht vorhanden. Stattdessen markiert der Teil nach der Definition des Unterprogrammnamens den Deklarationsabschnitt.
- Auf diesen Abschnitt sollte immer ein Ausführungsabschnitt folgen.
Ausführungsabschnitt
Der Ausführungsteil ist der Haupt- und Pflichtteil, der den darin geschriebenen Code tatsächlich ausführt. Da PL / SQL die ausführbaren Anweisungen von diesem Block erwartet, kann dies kein leerer Block sein, dh es sollte mindestens eine gültige ausführbare Codezeile enthalten sein. Nachfolgend sind einige weitere Merkmale dieses Teils aufgeführt.
- Dies kann sowohl PL / SQL-Code als auch SQL-Code enthalten.
- Dies kann einen oder mehrere Blöcke als verschachtelten Block enthalten.
- Dieser Abschnitt beginnt mit dem Schlüsselwort 'BEGIN'.
- Diesem Abschnitt sollte entweder der Abschnitt 'END' oder der Abschnitt 'Ausnahmebehandlung' folgen (falls vorhanden).
Abschnitt zur Ausnahmebehandlung:
Die Ausnahme ist in dem zur Laufzeit auftretenden Programm unvermeidbar. Um dies zu behandeln, hat Oracle 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 Steuerung aus diesem Abschnitt 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
Unten finden Sie die Syntax der PL / SQL-Blockstruktur.
DECLARE --optionalBEGIN --mandatory EXCEPTION --optional END; --mandatory/
Hinweis: Auf einen Block sollte immer '/' folgen, das die Informationen über das Ende des Blocks an den Compiler sendet.
Arten von PL / SQL-Blöcken
Es gibt hauptsächlich zwei Arten von PL / SQL-Blöcken.
- Anonyme Blöcke
- Benannte Blöcke
Anonyme Blöcke:
Anonyme Blöcke sind PL / SQL-Blöcke, denen keine Namen zugewiesen sind. 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, benötigen sie keine Kompilierungsschritte. Sie werden direkt geschrieben und ausgeführt, und die Kompilierung und Ausführung erfolgt in einem einzigen Prozess.
Im Folgenden sind einige weitere Merkmale von anonymen 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 diese nicht für spätere Zwecke gespeichert werden. Sie werden in derselben Sitzung erstellt und ausgeführt.
- Sie können die anderen benannten Blöcke aufrufen, ein Aufruf eines anonymen Blocks ist jedoch nicht möglich, da keine Referenz vorhanden ist.
- 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 enthalten, wobei der Ausführungsabschnitt obligatorisch ist, die anderen beiden Abschnitte sind optional.
Benannte Blöcke:
Benannte Blöcke haben einen bestimmten und eindeutigen Namen. Sie werden als Datenbankobjekte auf dem Server gespeichert. Da sie als Datenbankobjekte verfügbar sind, können sie referenziert 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.
Im Folgenden sind einige weitere Merkmale von benannten Blöcken aufgeführt.
- Diese Blöcke können von anderen Blöcken aufgerufen werden.
- Die Blockstruktur ist dieselbe wie bei einem anonymen Block, außer dass sie 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 andere Blöcke verschachtelt werden. Es kann auch verschachtelte Blöcke enthalten.
- Es gibt grundsätzlich zwei Arten von benannten Blöcken:
- Verfahren
- Funktion
Zusammenfassung
Nach diesem Lernprogramm sollten Sie sich mit PL / SQL-Blöcken und ihren Typen, verschiedenen Blockabschnitten und deren Verwendung vertraut machen. Die detaillierte Beschreibung der genannten PL / SQL-Blöcke wird im späteren Lernprogramm behandelt.