René Nyffenegger's collection of things on the web
René Nyffenegger on Oracle - Most wanted - Feedback -
 

user_arguments [Oracle]

create or replace package drop_me as
    function  pkg_f return number;

    function  pkg_f_arg(num in number) return number;

    function  pkg_f_ovl(num in number) return number;
    function  pkg_f_ovl(dat in date  ) return date;

    procedure pkg_p;
    procedure pkg_p_arg(num in number);

    procedure pkg_p_ovl(num in number);
    procedure pkg_p_ovl(dat in date  );

    procedure pkg_p_out(num in number, dat out date);

end drop_me;
/
create or replace package body drop_me as

    function  pkg_f return number is begin
      return null;
    end pkg_f;

    function pkg_f_arg(num in number) return number is begin
      return null;
    end;

    function pkg_f_ovl(num in number) return number is begin
      return null;
    end pkg_f_ovl;

    function pkg_f_ovl(dat in date) return date is begin
      return null;
    end pkg_f_ovl;

    procedure pkg_p is begin
      null;
    end pkg_p;

    procedure pkg_p_arg(num in number) is begin
      null;
    end pkg_p_arg;

    procedure pkg_p_ovl(num in number) is begin
      null;
    end pkg_p_ovl;

    procedure pkg_p_ovl(dat in date) is begin
      null;
    end pkg_p_ovl;

    procedure pkg_p_out(num in number, dat out date) is begin
      dat := null;
    end pkg_p_out;

end drop_me;
/
set lines 190
set tab off
set pages 100

select-- package_name,
  substr(object_name  ,1,10)     object_name,
  --     object_id,
  substr(overload     ,1, 2)     overload,
  substr(argument_name,1, 3)     argument_name,
  substr(data_type    ,1, 6)     data_type,
      -- default_value,
         in_out
 from    user_arguments
 where   package_name = 'DROP_ME'
order by object_name, overload, position;
OBJECT_NAME                              OVERLOAD ARGUMENT_NAM DATA_TYPE                IN_OUT
---------------------------------------- -------- ------------ ------------------------ ---------
PKG_F                                                          NUMBER                   OUT
PKG_F_ARG                                                      NUMBER                   OUT
PKG_F_ARG                                         NUM          NUMBER                   IN
PKG_F_OVL                                1                     NUMBER                   OUT
PKG_F_OVL                                1        NUM          NUMBER                   IN
PKG_F_OVL                                2                     DATE                     OUT
PKG_F_OVL                                2        DAT          DATE                     IN
PKG_P                                                                                   IN
PKG_P_ARG                                         NUM          NUMBER                   IN
PKG_P_OUT                                         NUM          NUMBER                   IN
PKG_P_OUT                                         DAT          DATE                     OUT
PKG_P_OVL                                1        NUM          NUMBER                   IN
PKG_P_OVL                                2        DAT          DATE                     IN