ALL_ARGUMENTS

最近更新时间: 2024-10-17 17:10:00

列出了当前用户可以访问的函数和过程的参数。

名称 类型 说明
owner varchar2(128) 对象所有者
object_name varchar2(128) 过程或函数名称
package_name varchar2(128) 包名称
object_id number 对象的对象编号
overload varchar2(40) 无效
subprogram_id number 无效
argument_name varchar2(128) 参数名。空参数名称用于表示函数返回
position number 表示在参数列表中的位置,或 0 表示函数返回值
sequence number 定义参数的顺序。 参数序列从 1 开始。返回类型在前,然后是每个参数
data_level number 复合类型参数的嵌套深度
data_type varchar2(30) 参数数据类型
defaulted varchar2(1) 指定参数是否默认
default_value long 保留
default_length number 保留
in_out varchar2(9) 参数方向:IN/OUT/INOUT
data_length number 无效
data_precision number 无效
data_scale number 无效
radix number 无效
character_set_name varchar2(44) 无效
type_owner varchar2(128) 无效
type_name varchar2(128) 无效
type_subname varchar2(128) 无效
type_link varchar2(128) 无效
type_object_type varchar2(7) 无效
pls_type varchar2(128) 无效
char_length number 无效
char_used varchar2(1) 无效
origin_con_id varchar2(256) 无效

示例:

create or replace FUNCTION f3f_all_argument_20221111_1 (a int, b out number, c INOUT varchar2) return int is
begin
return a;
end;
/
create or replace procedure p3p_all_argument_20221111_1(e int, f out number, g INOUT varchar2) is
aa int;
begin
aa := e;
end;
/
create or replace function f1f_all_argument_20221111_2(a int, b number default 123) return int is
begin
return a;
end;
/
create or replace procedure p5p_all_argument_20221111_2(a int, b varchar2 default 'abc', c number default 123, d number default NULL) is
e int;
begin
e := a;
end;
/
create or replace procedure pDp_all_argument_20221111_3(a int) is
begin
null;
end;
/
create or replace type obj_all_argument_20221111_1 as object(a int);
/
CREATE OR REPLACE TYPE nt_all_argument_20221111_2 AS TABLE OF VARCHAR2(30);
/
create table tbl_all_arguments_20221111_1 (f1 int, f2 varchar2(60));
create or replace function argTYPes_all_argument_20221111_3(a int[], obj obj_all_argument_20221111_1, nt nt_all_argument_20221111_2, rt tbl_all_arguments_20221111_1%rowtype) return int is
begin
return 2;
end;
/
select owner, object_name, package_name, overload,
       SUBPROGRAM_ID, ARGUMENT_NAME, position, sequence, 
       DEFAULTED, DEFAULT_VALUE, IN_OUT, data_length, radix 
from all_arguments where object_name = upper('argTYPes_all_argument_20221111_3') order by object_name, position;