오라클 11 버전에서 12 버전으로 변경 하였습니다.
이후 프로시저 매개변수 데이터 타입에 따라
프로시저 안에 있는 커서문의 값이 정상적으로 출력되지 않는 부분을 발견 하였습니다.
예시로
CREATE OR REPLACE PROCEDURE "SP_TEST" ( PI_TEST IN CHAR ) IS CURSOR CS_TEST IS SELECT TEST_COLUMN FROM TB_TEST WHERE TCL_TEST = PI_DEPT ; BEGIN ... END
위와 같이 11버전에서는 PI_TEST IN CHAR 형태로 작성하면 커서문에 쿼리를 정상적으로 처리가 됩니다.
하지만 12버전으로 업그레이드 후 정상적으로 처리가 되지 않습니다.
그래서 type 형태로 변경하니 정상적으로 처리가 됩니다.
CREATE OR REPLACE PROCEDURE "SP_TEST" ( PI_TEST IN TB_TEST.TCL_TEST %type ) IS CURSOR CS_TEST IS SELECT TEST_COLUMN FROM TB_TEST WHERE TCL_TEST = PI_DEPT ; BEGIN ... END
혹시 이와 비슷한 경우를 해결하신분이 계실까요?
11에서는 정상적으로 되었으니 DB자체의 설정 부분일것 같은데....구글링해도 답이 나오지 않네요....
답변 부탁드리겠습니다.
감사합니다.