PROCEDURE PC_TEST( IN_PRO_TP IN VARCHAR2
, IN_DEFAULT IN VARCHAR2 DEFAULT '12345'
, OUT_CURSOR OUT SYS_REFCURSOR
)
IS
V_CS SYS_REFCURSOR;
BEGIN
BEGIN
OPEN V_CS FOR
SELECT IN_PRO_TP
, IN_DEFAULT
FROM DUAL;
END;
OUT_CURSOR := V_CS;
END PC_TEST;
VAR OUTCURSOR REFCURSOR;
EXEC PC_TEST('123',:OUTCURSOR)
ORA-06550: 줄 1, 열18:PLS-00306: 'PC_TEST' 호출 시 인수의 갯수나 유형이 잘못되었습니다
ORA-06550: 줄 1, 열18:PL/SQL: Statement ignored
디폴트 값이 있어도 필수로 파라미터 갯수로 넘겨줘야되면 디폴트값은 의미 없지않나요??
○ 다음 두가지 방법 테스트 해보세요.
1. 변수 선언시 디폴트 변수를 제일 마지막에 선언하는 방법
2. 호출시 변수를 지정하여 호출하는 방법 (OUT_CURSOR => :OUTCURSOR)
호출 시 변수를 지정해서 넘기거나
마지막에 있으면되네요ㅠㅠ
지식이 짧은데 늘 구루비와 마농님께 감사드립니다.