CREATE-PACKAGE-BODY

Der PACKAGE BODY ist der obligatorische Teil eines PL/SQL-PACKAGE. Hier können Variablen, Konstanten und CURSOR als private Package-Objekte definiert werden, völlig analog wie im Deklarationsteil sonstiger PL/SQL-Blöcke. Für Package-Prozeduren und -Funktionen wird hier im Body der Programmcode programmiert. Die Definition erfolgt analog zu der bei den CREATE-PROCEDURE und CREATE-FUNCTION-Anweisungen, nur ohne das Schlüsselwort CREATE.

Syntax der CREATE PACKAGE BODY-Anweisung:

   <CREATE PACKAGE BODY Anweisung> ::=
        CREATE [ OR REPLACE ] PACKAGE BODY Paketname { IS | AS }
            <Spezifikation Rumpf>; [<Spezifikation Rumpf>; ]...
        [ BEGIN
            <SQL- und PL/SQL-Anweisung>; [ <SQL- und PL/SQL-Anweisung>; ]... ]
        END [ Paketname ];

Beispiel:

   CREATE OR REPLACE PACKAGE BODY Mathe_Pckg AS
      PROCEDURE Mitteln (x IN NUMBER, y IN NUMBER) IS
      BEGIN
         V_Ergebnis := (x + y) / 2;
         DBMS_OUTPUT.PUT_LINE('Ergebnis = ' || V_Ergebnis);
      END Mitteln;
      PROCEDURE Wurzeln (x IN NUMBER, y IN NUMBER) IS
      BEGIN
         V_Ergebnis := SQRT (x * y);
         DBMS_OUTPUT.PUT_LINE('Ergebnis = ' || V_Ergebnis);
      END Wurzeln;
   BEGIN
      V_Ergebnis := 0;
   END Mathe_Pckg;
   /
   SHOW ERRORS

   -- ausgeführt werden die Prozeduren mit der SQL-PLUS-Anweisung
   -- EXECUTE Paketname.prozedurname
   EXECUTE Mathe_Pckg.Mitteln(7,9);
   EXECUTE Mathe_Pckg.Wurzeln(2,8);
   IF Mathe_Pckg.V_Ergebnis = 10 THEN ... END IF;

siehe auch: CREATE-PACKAGE?

Kategorie: Oracle-PL-SQL, C