在PL / SQL中列出过程参数

时间:2014-12-15 14:51:45

标签: oracle plsql plsqldeveloper

我可以通过查询 dba_procedures 来检索所有程序的列表。但是我只能提取过程名称。但我也需要他们的参数。

现在,我知道我可以通过查询all_source表来访问当前用户可访问的存储对象的"文本源。

但是还有其他方法来检索过程的参数吗?

2 个答案:

答案 0 :(得分:7)

您可以使用SYS.ALL_ARGUMENTS表查询参数:

SELECT * FROM SYS.ALL_ARGUMENTS WHERE 
  PACKAGE_NAME = '<null_or_package_name>' AND 
  OBJECT_NAME = '<procedure_name>';

答案 1 :(得分:2)

从SQL * Plus或SQL Developer,您可以使用DESCribe procedure_name命令:

Oracle> desc dbms_metadata
FUNCTION ADD_TRANSFORM RETURNS NUMBER
 Argument Name                  Type                    In/Out Default?
 ------------------------------ ----------------------- ------ --------
 HANDLE                         NUMBER                  IN
 NAME                           VARCHAR2                IN
 ENCODING                       VARCHAR2                IN     DEFAULT
 OBJECT_TYPE                    VARCHAR2                IN     DEFAULT
FUNCTION CHECK_MATCH_TEMPLATE RETURNS NUMBER
 Argument Name                  Type                    In/Out Default?
 ------------------------------ ----------------------- ------ --------
 POBJNO                         NUMBER                  IN
 SPCNT                          NUMBER                  IN
...
相关问题