Beispiele für gespeicherte Oracle-Prozeduren Hello World
Liste schneller Beispiele zum Erstellen gespeicherter Prozeduren (Parameter IN, OUT, IN OUT und Cursor) in der Oracle-Datenbank. PL/SQL code is self-explanatory.
1. Hallo Welt
Eine gespeicherte Prozedur zum Ausdrucken einer „Hallo Welt“ über DBMS_OUTPUT.
CREATE OR REPLACE PROCEDURE procPrintHelloWorld IS BEGIN DBMS_OUTPUT.PUT_LINE('Hello World!'); END; /
Starte es
exec procPrintHelloWorld;
Ausgabe
Hello World!
2. Hallo Welt + IN Parameter
Eine gespeicherte Prozedur zum Akzeptieren eines einzelnen Parameters und zum Ausdrucken des Parameters „Hello World IN“ + Parameter über DBMS_OUTPUT.
CREATE OR REPLACE PROCEDURE procOneINParameter(param1 IN VARCHAR2) IS BEGIN DBMS_OUTPUT.PUT_LINE('Hello World IN parameter ' || param1); END; /
Starte es
exec procOneINParameter('example');
Ausgabe
Hello World IN parameter example
3. Hallo Welt + OUT Parameter
Eine gespeicherte Prozedur zum Ausgeben / Zuweisen des Werts „Hello World OUT-Parameter“ zum OUT-Parameter.
CREATE OR REPLACE PROCEDURE procOneOUTParameter(outParam1 OUT VARCHAR2) IS BEGIN outParam1 := 'Hello World OUT parameter'; END; /
Starte es
DECLARE outParam1 VARCHAR2(100); BEGIN procOneOUTParameter(outParam1); DBMS_OUTPUT.PUT_LINE(outParam1); END; /
Ausgabe
Hello World OUT parameter
4. Hallo Welt + INOUT Parameter
Eine gespeicherte Prozedur zum Akzeptieren eines INOUT-Parameters (genericParam), zum Erstellen der Ausgabemeldung und zum erneuten Zuweisen zu demselben Parameternamen (genericParam).
CREATE OR REPLACE PROCEDURE procOneINOUTParameter(genericParam IN OUT VARCHAR2) IS BEGIN genericParam := 'Hello World INOUT parameter ' || genericParam; END; /
Starte es
DECLARE genericParam VARCHAR2(100) := 'example'; BEGIN procOneINOUTParameter(genericParam); DBMS_OUTPUT.PUT_LINE(genericParam); END; /
Ausgabe
Hello World INOUT parameter example
5. Hallo Welt + Cursor
Eine gespeicherte Prozedur, geben Sie einen Referenzcursor zurück und akzeptieren Sie einen IN-Parameter.
CREATE OR REPLACE PROCEDURE procCursorExample( cursorParam OUT SYS_REFCURSOR, userNameParam IN VARCHAR2) IS BEGIN OPEN cursorParam FOR SELECT * FROM DBUSER WHERE USERNAME = userNameParam; END; /
Starte es
DECLARE dbUserCursor SYS_REFCURSOR; dbUserTable DBUSER%ROWTYPE; BEGIN procCursorExample(dbUserCursor,'example'); LOOP FETCH dbUserCursor INTO dbUserTable; EXIT WHEN dbUserCursor%NOTFOUND; dbms_output.put_line(dbUserTable.user_id); END LOOP; CLOSE dbUserCursor; END; /
Ausgabe
List of the user_id which matched username='example'