PL-SQL-Block

Die kleinste Einheit von PL/SQL ist ein sogenannter PL/SQL-Block, der aus bis zu drei PL/SQL-Abschnitten bestehen kann, dem optionalen Deklarationsteil eingeleitet mit DECLARE, dem obligatorischen Ausführungsteil zwischen BEGIN und END und dem wiederum optionalen Fehlerbehandlungsteil (EXCEPTION).

Der Ausführungsteil enthält PL/SQL-Anweisungen und bestimmte SQL-Anweisungen wie INSERT, UPDATE, DELETE?, SELECT, COMMIT, ROLLBACK. Ein großer Vorzug bei der Verwendung von PL/SQL ist die komfortable Einbettung vieler SQL-Befehle (DML, DQL, aber nicht DDL), die weitestgehend ohne Schnittstellenprogrammierung verwendet werden können. Lediglich beim SELECT sind Anpassungen notwendig entweder als SELECT INTO-Anweisung oder als CURSOR.

PL/SQL-Blöcke können beliegig in den Ausführungsteilen geschachtelt werden. Dies kann einmal dazu dienen einen Ausführungsteil zu strukturieren, zum anderen ermöglicht diese Schachtelung von PL/SQL-Blöcken, dass einzelne Befehle oder Befehlsgruppen ihre eigene Fehlerbehandlung in ihrer eigenen EXCEPTION erfahren können. Dies ist z.B. der Fall, wenn mehrere SELECT INTO-Anweisungen vorhanden sind, auf deren Fehler ganz speziell reagiert werden soll.

Syntax von PL/SQL-Blöcken:

   <PL/SQL-Block> ::=
      [ DECLARE
        <Deklaration>; [ <Deklaration>; ]... ]
      BEGIN
        <SQL- und PL/SQL-Anweisung>; [ <SQL- und PL/SQL-Anweisung>; ]...
      [ EXCEPTION
        <Fehlerbehandlung> ]
      END;

Quellen:

  • Faeskorn-Woyke, Heide; Bertelsmeier, Birgit; Riemer, Petra; Bauer, Elena: "Datenbanksysteme - Theorie und Praxis mit SQL2003, Oracle und MySQL", Pearson Education, München, 2007, ISBN 978-3-8273-7266-6
  • Feuerstein, Steven, Pribyl. Bill: "Oracle PL/SQL Programming", O'Reilly, 2009, ISBN-13: 978-0596514464
  • Oracle® Database SQL Language Reference 11g Release 1 (11.1) in http://docs.oracle.com/cd/B28359_01/server.111/b28286/toc.htm
  • Oracle® Database PL/SQL Language Reference 11g Release 2 (11.2) in http://docs.oracle.com/cd/E11882_01/appdev.112/e25519/toc.htm
  • Saurabh, Gupta: "Oracle Advanced PL/SQL Developer Professional Guide", Packt Publishing Limited, 2012, ISBN 978-1-84968-722-5

Kategorie: Oracle-PL-SQL, P