PL/SQL: Anonyme Blöcke1

Aus Wikibooks

Wechseln zu: Navigation, Suche
Zurück zu " PL/SQL Einführung " | Hoch zu " Inhaltsverzeichnis " | Vor zu " Variable "


Als Anonyme Blöcke werden Code-Zeilen bezeichnet, die keinen Bezeichner besitzen.

Der Aufbau eines PL/SQL-Blocks sieht wie folgt aus:

[Bearbeiten] Listing: AnonymousBlock

[declare
    -- Deklarationsblock]
begin
   -- Eigentliches Programm
[exception
   -- Ausnahmebehandlung]
end;

Hierbei sind der Deklarationsblock und die Ausnahmebehandlung optional. Das SQL-Statement kann stark verkürzt werden, sodass nur noch ein simples

[Bearbeiten] Listing: minimaler Anonymous Block

begin
   null;
end;

übrigbleibt. Anonyme Blöcke können beliebig geschachtelt werden. Dies erweist sich als nützlich, wenn man einen Befehl ausführen muss, unabhängig, ob der vorrangegangene Befehl fehlgeschlagen ist.

[Bearbeiten] Listing: geschachtelte Anweisungen

BEGIN
  BEGIN /* schritt 1 wird ausgeführt */
    do_something();
  EXCEPTION /* beim Fehler e_exceptionAusSomething, hat er seine 
               eigene Ausnahmebehandlung */
    WHEN e_exceptionAusSomething THEN
      BEGIN
        cure_error();
      END;
  END;
  BEGIN /* Schritt 2 wird ausgeführt, unabhängig, ob 1 fehlgeschlagen ist */
    do_step_2();
  EXCEPTION /* Ausnahmebehandlung für den Fehler e_exceptionAusStep 
               für Schritt 2 */
    WHEN e_exceptionAusStep THEN
      BEGIN
        log_error();
      END;
  END;
EXCEPTION /* Ausnahmebehandlung für Exceptions aus Schritt 1 und 2, 
             die noch nicht behandelt wurden */
  WHEN OTHERS THEN
    BEGIN
      log_error();
    END;
END;
Persönliche Werkzeuge
Buch erstellen