2013-01-22 5 views
1

명명 된 매개 변수를 기반으로 저장 프로 시저를 호출해야합니다.명명 된 저장 프로 시저

RMFF_RETRO_ACTIVE_CALCS_SP(p_region_cd,p_plant_cd, 
p_supplier_nbr,p_matrl_nbr,'','','N',p_user_id,p_err_cd,p_err_msg); 

여기에서 명명 된 매개 변수를 사용해야합니다.

하지만 내 p_region_cd가 호출 된 프로 시저와 동일한 이름

p_region_cd=>p_region_cd. 

이 어떻게 할까? 나는 장소 번째에만 5, 6에 이름이 필요

Pls는이

p_region_cd=>p_region_cd 

는 문제가되지 않습니다 사용

+1

아니라, 당신은 캔트 사용 명명 된 매개 변수는 다음 일반 매개 변수 목록을 사용하여 돌아갑니다. 처음부터 끝까지 명명 된 매개 변수를 사용하는 것이 좋습니다 ... – Najzero

+1

로컬 param이 프로 시저 param과 동일한 이름을 가지고 있다는 사실은 문제가되어서는 안됩니다. 그러나 당신은 당신의 전화에서 모든 매개 변수의 이름을 지어야합니다. –

답변

0

를 호출하는 방법을 나에게 제안한다. 예를 들어 다음 블록은 잘 실행됩니다.

declare 
    po_next_stmt_date number(8); 
    po_next_due_date number(8); 
    po_rsp_code  varchar2(3); 
    po_rsp_dscr  varchar2(256); 

begin 
    oc_eoc.SP_EOC_GET_NEXT_STMT_DATE(pi_last_eoc_date => 20130210, 
            pi_new_cycle_code => '02', 
            po_next_stmt_date => po_next_stmt_date, 
            po_next_due_date => po_next_due_date, 
            po_rsp_code => po_rsp_code, 
            po_rsp_dscr => po_rsp_dscr); 
end; 

당신이주의해야 할 것은 당신이 명명 된 매개 변수로 시작한다면 그걸로 계속해야한다는 것입니다.

oc_eoc.SP_EOC_GET_NEXT_STMT_DATE(20130210, 
           '02', 
           po_next_stmt_date => po_next_stmt_date, 
           po_next_due_date => po_next_due_date, 
           po_rsp_code => po_rsp_code, 
           po_rsp_dscr => po_rsp_dscr); 

을하지만이되지 않습니다 : : 미세 또한 다음 "중간"에서

oc_eoc.SP_EOC_GET_NEXT_STMT_DATE(pi_last_eoc_date => 20130210, 
           '02', 
           po_next_stmt_date => po_next_stmt_date, 
           po_next_due_date => po_next_due_date, 
           po_rsp_code => po_rsp_code, 
           po_rsp_dscr => po_rsp_dscr);