2014-12-16 6 views
0

이것은 두 번째로 PL/SQL 프로 시저를 진단하는 것입니다. 저장 프로 시저에서 코드를 테스트해야하며 SQL Developer에서이 코드를 호출하려고합니다. 오류 세부 정보 보고서를 실행했으며 코드에 명백한 버그가 없습니다.저장 프로 시저를 호출 할 때 어떻게 커서 값을 전달합니까?

이제 출력이 올바른지 확인할 수 있도록 테스트 창을 통해 실행하려고합니다. 그러나 나는 3 매개 변수에 대한 올바른 인수를 얻을 수 없습니다. 이 프로 시저의 매개 변수는 다음과 같습니다.

CREATE OR REPLACE PROCEDURE ADVANCE.WW_DEATHDATE_REPORT(begindate varchar2, enddatevarchar2, RC1 IN OUT du_refCUR_PKG.RC) AS 

다음은 절차를 호출하는 데 사용하려는 코드입니다. 올바르게 실행하려면 무엇을해야합니까? 매개 변수에서 잘못된 값을 사용하고 있다는 오류 메시지가 계속 나타납니다. 이 작업을 수행하는 여러 가지 방법이 있습니다

BEGIN 
ADVANCE.WW_DEATHDATE_REPORT('20100101','20150101',du_refcur_pkg); 
END; 

답변

0

는 한 가지 방법은,

DECLARE 
du_refcur_pkg SYS_REFCURSOR; 
BEGIN 
OPEN du_refcur_pkg FOR SELECT ... ; 

ADVANCE.WW_DEATHDATE_REPORT('20100101','20150101',du_refcur_pkg); 
END; 

는 또 다른 방법이 될 것이다, 아래처럼

BEGIN 
ADVANCE.WW_DEATHDATE_REPORT('20100101','20150101', CURSOR (SELECT ...)); 
END; 
관련 문제