Mega Code Archive

 
Categories / Oracle PLSQL Tutorial / Function Procedure Packages
 

Serially Reusable Packages

SQL>  CREATE OR REPLACE PACKAGE myPackage   2  IS   3    PRAGMA SERIALLY_REUSABLE;   4    num_var NUMBER;   5    char_var VARCHAR2(20);   6    PROCEDURE initialize;   7    FUNCTION display_num RETURN NUMBER;   8    FUNCTION display_char RETURN VARCHAR2;   9  END myPackage;  10  / Package created. SQL> CREATE OR REPLACE PACKAGE BODY myPackage   2  IS   3    PRAGMA SERIALLY_REUSABLE;   4    PROCEDURE initialize   5    IS   6    BEGIN   7      num_var :=100;   8      char_var :='Test String1';   9    END;  10    FUNCTION display_num RETURN NUMBER  11    IS  12    BEGIN  13      RETURN (num_var);  14    END;  15    FUNCTION display_char RETURN VARCHAR2  16    IS  17    BEGIN  18      RETURN (char_var);  19    END;  20  END myPackage;  21  / Package body created. SQL> DECLARE   2    v_num NUMBER;   3    v_char VARCHAR2(20);   4  BEGIN   5    myPackage.initialize;   6    v_num :=myPackage.display_num;   7    v_char :=myPackage.display_char;   8    dbms_output.put_line(TO_CHAR(v_num)||' '||v_char);   9  END;  10  / 100 Test String1 PL/SQL procedure successfully completed. SQL>