Mega Code Archive

 
Categories / Oracle PLSQL Tutorial / Function Procedure Packages
 

Demonstrate the behavior of IN, OUT, and IN OUT parameter modes

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> show errors No errors. 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>