我可以通过查询 dba_procedures 来检索所有程序的列表。但是我只能提取过程名称。但我也需要他们的参数。
现在,我知道我可以通过查询all_source表来访问当前用户可访问的存储对象的"文本源。。
但是还有其他方法来检索过程的参数吗?
答案 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
...