我想从Oracle数据库中检索有关过程/函数的信息。我知道,我可以使用ALL_PROCEDURES
和USER_OBJECTS
表,但它们只告诉我现有过程/函数的名称。我想在不解析任何源的情况下获得返回类型和参数。在Oracle下这可能吗?在PostgreSQL下这很容易,并且可以在 MySQL 下完成(5.5 AFAIK 下的参数)。
问问题
964 次
1 回答
4
听起来您想要ALL_ARGUMENTS
视图(或USER_ARGUMENTS
或DBA_ARGUMENTS
)
SQL> create or replace function f1( p_in in varchar2,
2 p_in_out in out number )
3 return number
4 is
5 begin
6 return 1;
7 end;
8 /
Function created.
SQL> ed
Wrote file afiedt.buf
1 select argument_name, position, in_out, data_type
2 from all_arguments
3 where object_name = 'F1'
4* and package_name is null
SQL> /
ARGUMENT_N POSITION IN_OUT DATA_TYPE
---------- ---------- --------- ----------
P_IN_OUT 2 IN/OUT NUMBER
P_IN 1 IN VARCHAR2
0 OUT NUMBER
于 2011-04-18T22:18:07.097 回答