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. |