好象没有。
自己写一个如何。
我做了一些尝试,对于PACKAGE已经成功,对于PROCEDURE好象还有些问题。
SQL> conn sys/wyq as sysdba
Connected.
SQL> Create view dba_proc_args as
2 Select o.Owner, o.Object_Name package_name, p.Procedurename, a.Procedure$, a.Argument
3 From Argument$ a,
4 (Select Procedure#, Procedurename, Obj# From Procedureinfo$) p,
5 (Select Object_Id, Object_Name, Owner
6 From Dba_Objects
7 Where Object_Type In ('PROCEDURE', 'FUNCTION', 'PACKAGE')) o
8 Where a.Procedure#(+) = p.Procedure#
9 And a.Procedure$(+) = p.Procedurename
10 And p.Obj# = o.Object_Id;
View created.
SQL> column package_name format a20
SQL> column owner format a10
SQL> select * from dba_proc_args where package_name = 'DBMS_OUTPUT';
OWNER PACKAGE_NAME PROCEDURENAME PROCEDURE$ ARGUMENT
---------- -------------------- ------------------------------ ------------------------------ ------------------------------
SYS DBMS_OUTPUT ENABLE ENABLE BUFFER_SIZE
SYS DBMS_OUTPUT DISABLE DISABLE
SYS DBMS_OUTPUT DISABLE DISABLE
SYS DBMS_OUTPUT PUT PUT A
SYS DBMS_OUTPUT PUT PUT A
SYS DBMS_OUTPUT PUT_LINE PUT_LINE A
SYS DBMS_OUTPUT PUT_LINE PUT_LINE A
SYS DBMS_OUTPUT NEW_LINE NEW_LINE
SYS DBMS_OUTPUT GET_LINE GET_LINE STATUS
SYS DBMS_OUTPUT GET_LINE GET_LINE LINE
SYS DBMS_OUTPUT GET_LINES GET_LINES NUMLINES
SYS DBMS_OUTPUT GET_LINES GET_LINES LINES
SYS DBMS_OUTPUT GET_LINES GET_LINES
13 rows selected.
SQL> create package pkg_wyq as
2 procedure sp_abc (p_arg1 number,p_arg2 varchar2);
3 function sp_efg return pls_integer;
4 end;
5 /
Package created.
SQL> select * from dba_proc_args where package_name = 'PKG_WYQ';
OWNER PACKAGE_NAME PROCEDURENAME PROCEDURE$ ARGUMENT
---------- -------------------- ------------------------------ ------------------------------ ------------------------------
SYS PKG_WYQ SP_ABC SP_ABC P_ARG2
SYS PKG_WYQ SP_ABC SP_ABC P_ARG1
SYS PKG_WYQ SP_EFG SP_EFG
SQL>