Parameter
Mittels Parametern besteht die Möglichkeit, bei gespeicherten Routinen (Prozeduren, Funktionen) beim Aufruf Werte in die Routine zu übergeben bzw. beim Programmende Werte wieder zurück zugeben.
Eingabe-Parameter (IN) verhalten sich in der Routine wie initialisierte Konstanten, ihnen können im Anweisungsteil keine anderen Werte zugewiesen werden. Beim Aufruf werden ihnen Werte mittels Konstanten oder Variablen übergeben.
Ein-Ausgabe-Parameter (IN OUT) verhalten sich in der Routine wie initialisierte Variablen, ihnen können im Anweisungsteil andere Werte zugewiesen werden. Beim Aufruf werden ihnen Werte mittels Variablen übergeben.
Ausgabe-Parameter (OUT) verhalten sich in der Routine wie nichtinitialisierte Variablen, ihnen können im Anweisungsteil andere Werte zugewiesen werden. Beim Aufruf werden ihnen Werte keine Werte übergeben, die OUT-Parameter-Variablen sind lediglich nach Programmende gefüllt.
Als Datentyp sind alle PL/SQL-Datentypen zulässig.
Syntax der Parameter-Spezifikation:
<Parameterdefinition> := [ IN | OUT | IN OUT ] <Datentyp> [ { DEFAULT Wert } | { := Wert } ]
Beispiel:
CREATE OR REPLACE PROCEDURE Mitteln (p_x IN NUMBER, p_y IN NUMBER) IS V_Ergebnis NUMBER(20); BEGIN v_Ergebnis:= (p_x + p_y) / 2; DBMS_OUTPUT.PUT_LINE('Das Ergebnis ist: ' || V_Ergebnis); END; -- damit die Ausgabe mittels DBMS_OUTPUT.PUT_LINE angezeigt wird, muss die -- Servervariable SERVEROUTPUT angestellt sein SET SERVEROUTPUT ON; EXECUTE Mitteln(8,22);
siehe auch: CREATE PROCEDURE, CREATE FUNCTION
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