Gespeicherte Oracle-Prozedurbeispiele Hello World

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'