Demonstrate the behavior of IN, OUT, and IN OUT parameter modes. : IN OUT Parameters « Function Procedure Packages « Oracle PL/SQL Tutorial






SQL>
SQL> set serveroutput on format wrapped
SQL>
SQL> CREATE OR REPLACE PROCEDURE ModeIn (p_In IN NUMBER) AS
  2     v_LocalVariable NUMBER := 0;
  3   BEGIN
  4     DBMS_OUTPUT.PUT('Inside ModeIn: ');
  5     IF (p_In IS NULL) THEN
  6       DBMS_OUTPUT.PUT_LINE('p_In is NULL');
  7     ELSE
  8       DBMS_OUTPUT.PUT_LINE('p_In = ' || p_In);
  9     END IF;
 10
 11     v_LocalVariable := p_In;
 12
 13     IF (p_In IS NULL) THEN
 14        DBMS_OUTPUT.PUT_LINE('p_In is NULL');
 15     ELSE
 16       DBMS_OUTPUT.PUT_LINE('p_In = ' || p_In);
 17     END IF;
 18   END ModeIn;
 19   /

Procedure created.

SQL>
SQL>
SQL> show errors
No errors.
SQL>
SQL>
SQL>
SQL> DECLARE
  2     v_In NUMBER := 1;
  3   BEGIN
  4     DBMS_OUTPUT.PUT_LINE('Before calling ModeIn, v_In = ' || v_In);
  5     ModeIn(v_In);
  6     DBMS_OUTPUT.PUT_LINE('After calling ModeIn, v_In = ' || v_In);
  7   END;
  8   /
Before calling ModeIn, v_In = 1
Inside ModeIn: p_In = 1
p_In = 1
After calling ModeIn, v_In = 1

PL/SQL procedure successfully completed.

SQL>
SQL>
SQL>
SQL>








27.17.IN OUT Parameters
27.17.1.IN OUT parameters
27.17.2.Demonstrate the behavior of IN, OUT, and IN OUT parameter modes.