ALL_ARGUMENTS

最近更新时间: 2025-02-18 16:02:00

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

名称类型说明
ownervarchar2(128)对象所有者
object_namevarchar2(128)过程或函数名称
package_namevarchar2(128)包名称
object_idnumber对象的对象编号
overloadvarchar2(40)无效
subprogram_idnumber无效
argument_namevarchar2(128)参数名。空参数名称用于表示函数返回
positionnumber表示在参数列表中的位置,或 0 表示函数返回值
sequencenumber定义参数的顺序。 参数序列从 1 开始。返回类型在前,然后是每个参数
data_levelnumber复合类型参数的嵌套深度
data_typevarchar2(30)参数数据类型
defaultedvarchar2(1)指定参数是否默认
default_valuelong保留
default_lengthnumber保留
in_outvarchar2(9)参数方向:IN/OUT/INOUT
data_lengthnumber无效
data_precisionnumber无效
data_scalenumber无效
radixnumber无效
character_set_namevarchar2(44)无效
type_ownervarchar2(128)无效
type_namevarchar2(128)无效
type_subnamevarchar2(128)无效
type_linkvarchar2(128)无效
type_object_typevarchar2(7)无效
pls_typevarchar2(128)无效
char_lengthnumber无效
char_usedvarchar2(1)无效
origin_con_idvarchar2(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;