我认为没有办法直接从 Java 中将其作为元数据获取,但您可以查询数据字典以获取此信息:
select argument_name, data_type, in_out
from user_arguments
where package_name is null
and object_name = 'TEST'
order by subprogram_id, position;
ARGUMENT_NAME DATA_TYPE IN_OUT
------------------------------ ------------------------------ ---------
ECM_PROPERTY REF CURSOR OUT
P_RETURN_VALUE NUMBER OUT
P_ERROR_MESSAGE VARCHAR2 OUT
如果它是部分 fa 包,则将其作为package_name; 如果不是,那么指定它为 null 会更安全,以防在其他地方使用相同的名称。如果过程重载,那么您将获得多个名称相似或相同的结果;我已经订购了,subprogram_id所以它们至少组合在一起。
如果它不在您的架构中,那么您可以查看all_arguments,但也可以owner在查询中指定。