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