안녕하세요
oracle에서 tibero로 함수를 전환중에 있는데 오라클에선 장상동작하는 함수가 티베로에선 오류가 납니다.
개체 유옇을 아래와 같이 생성하고
CREATE OR REPLACE TYPE IVELES."TYP_STRG_BLCK_RECORD" AS OBJECT
(
STRG_BLCK_NO varchar(5)
)
컬렉션 유형을 아래와 같이 생성한 후에
CREATE OR REPLACE TYPE IVELES."TYP_STRG_BLCK_TABLE" AS TABLE OF TYP_STRG_BLCK_RECORD
아래와 같이 쿼리를 실행하면 오라클에선 정상 실행되나 티베로에선 오류가 납니다.
CREATE OR REPLACE FUNCTION FUN_GET_STRG_BLCK_LIST
(
A_COMP_CD IN CM_COMPANY.COMP_CD%TYPE,
A_PORT_CD IN CM_PORT_CD.PORT_CD%TYPE,
A_STRG_YARD_NO IN CM_STRG_YARD.STRG_YARD_NO%TYPE,
A_SCOPE IN VARCHAR2
)
RETURN TYP_STRG_BLCK_TABLE
IS
V_STRG_BLCK_TABLE TYP_STRG_BLCK_TABLE;
BEGIN
SELECT CAST
(
MULTISET
(
SELECT STRG_BLCK_NO
FROM CM_STRG_BLCK
WHERE COMP_CD = A_COMP_CD
AND PORT_CD = A_PORT_CD
AND STRG_YARD_NO = A_STRG_YARD_NO
AND USE_FG = 'Y'
)
AS TYP_STRG_BLCK_TABLE
)
INTO V_STRG_BLCK_TABLE
FROM DUAL ;
RETURN V_STRG_BLCK_TABLE ;
END ;
오류는 TBR-11021: Error occurred during type casting. 인데
CM_STRG_BLCK 테이블의 데이터 타입도 STRG_BLCK_NO varchar(5) 인데 어디가 잘못되어서 저런 오류가 날까요?
오전부터 계속 바꿔도 보고 구글링해봐도 답을 찾을수가 없네요....
원인이 뭔지 해결방법은 뭔지 궁금합니다.
혹시 아시는분 계시면 답변 부탁드리겠습니다.
감사합니다.
해결하였습니다.