Mega Code Archive

 
Categories / Oracle PLSQL / Stored Procedure Function
 

This procedure takes a single OUT Out parameter is assignable

SQL> CREATE OR REPLACE PROCEDURE ModeOut (p_Out OUT NUMBER) AS   2     v_LocalVariable NUMBER := 0;   3   BEGIN   4     IF (p_Out IS NULL) THEN   5       DBMS_OUTPUT.PUT_LINE('p_Out is NULL');   6     ELSE   7       DBMS_OUTPUT.PUT_LINE('p_Out = ' || p_Out);   8     END IF;   9  10     p_Out := 7;  11  12     v_LocalVariable := p_Out;  13  14      DBMS_OUTPUT.PUT('At end of ModeOut: ');  15     IF (p_Out IS NULL) THEN  16       DBMS_OUTPUT.PUT_LINE('p_Out is NULL');  17     ELSE  18       DBMS_OUTPUT.PUT_LINE('p_Out = ' || p_Out);  19     END IF;  20   END ModeOut;  21   / Procedure created. SQL> SQL> SQL> SQL> show errors No errors. SQL> SQL> SQL> DECLARE   2     v_Out NUMBER := 1;   3   BEGIN   4        5     DBMS_OUTPUT.PUT_LINE('Before calling ModeOut, v_Out = ' || v_Out);   6     ModeOut(v_Out);   7     DBMS_OUTPUT.PUT_LINE('After calling ModeOut, v_Out = ' || v_Out);   8   END;   9   / Before calling ModeOut, v_Out = 1 p_Out is NULL At end of ModeOut: p_Out = 7 After calling ModeOut, v_Out = 7 PL/SQL procedure successfully completed. SQL> SQL> SQL>