Use package member variable to pass value : Package « PL SQL « Oracle PL / SQL






Use package member variable to pass value

    
SQL>
SQL> create table t as select * from all_objects;

Table created.

SQL>
SQL> create or replace package myPackage
  2  as
  3      type varchar2_array is table of varchar2(30) index by binary_integer;
  4      type rc is ref cursor;
  5      procedure index_by( p_owner in varchar2, p_object_name out varchar2_array,p_object_type out varchar2_array,p_timestamp out varchar2_array );
  6      procedure ref_cursor( p_owner in varchar2, p_cursor in out rc );
  7  end;
  8  /

Package created.

SQL>
SQL> create or replace package body myPackage
  2  as
  3  procedure index_by( p_owner in varchar2,p_object_name out varchar2_array,p_object_type out varchar2_array,p_timestamp out varchar2_array )
  4  is
  5  begin
  6      select object_name, object_type, timestamp
  7        bulk collect into p_object_name, p_object_type, p_timestamp
  8        from t
  9       where owner = p_owner;
 10  end;
 11
 12  procedure ref_cursor( p_owner in varchar2,p_cursor in out rc )
 13  is
 14  begin
 15      open p_cursor for select object_name, object_type, timestamp from t where owner = p_owner;
 16      end;
 17  end;
 18  /

Package body created.

SQL>
SQL>
SQL> drop table t;

Table dropped.

SQL>
SQL>
SQL>

   
    
    
    
  








Related examples in the same category

1.Create a package declaration and create its body after
2.Create a package level variable
3.call utitilities package
4.Package for output employee table and log message
5.Package with package level cursor variable
6.Overloading Packaged Subprograms
7.A PL/SQL package with two methods
8.Package level Exception
9.This package will not compile because the body does not match the specification.
10.dependencies between an anonymous calling block and package runtime state.
11.RESTRICT_REFERENCES pragma.
12.Without RESTRICT_REFERENCES pragma.
13.Persistance of packaged variables.
14.A package with one method
15.Package level variable as global level variable
16.Global definition
17.Student fetch package
18.Cursor operation between package functions
19.The pragma is not valid at the package level.
20.Create package and member cursor
21.Nested package reference
22.Overloaded packages.
23.Overloading based on user defined object types.
24.package RECURSION
25.Crosss reference between two packages
26.Counter package
27.Package initialization.
28.Packages allows forward references, thus opening the possibilities for recursion.
29.Use package level type as global variables