2013-06-28 4 views
0

Java 코드에서 저장 프로 시저 [Oracle]의 OUT 매개 변수 이름을 가져올 수 있습니까? 이상에서Java에서 저장 프로 시저 OUT 매개 변수 이름 얻기

PROCEDURE Test( 
     ecm_property OUT SYS_REFCURSOR, 
     p_return_value OUT NOCOPY INT, 
     p_error_message OUT NOCOPY VARCHAR2) 
    AS 
    BEGIN.. 

처럼, 나는 이름 "p_return_value"와 "p_error_message"을 좀하고 싶습니다. 누군가 나에게 아이디어를 줄 수 있습니까?

답변

1

내가 직접 자바에서 메타 데이터를 얻을 수있는 방법이 있다고 생각하지 않지만,이 정보를 얻기 위해 데이터 사전을 조회 할 수 있습니다 : 그것은 부품 FA 패키지는 다음과 같은 것을 제공의 경우

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 

package_name; 그렇지 않은 경우 동일한 이름이 다른 곳에 사용되는 경우 null을 지정하는 것이 더 안전합니다. 프로 시저에 과부하가 걸리면 이름이 비슷하거나 동일한 여러 결과가 표시됩니다. 내가 적어도 subprogram_id에 의해 주문했기 때문에 적어도 그룹화되었습니다.

스키마에없는 경우 all_arguments을 조회 할 수 있지만 쿼리에는 owner도 지정하십시오.

+0

안녕하세요, 알렉스, 내 역할을합니다. 정말 고맙습니다. –

관련 문제