LONG 타입 필드를 서브쿼리로 조회하면
오류가 발생합니다.
Oracle function을 생성해서 사용하면 사용할 수 있습니다.
SQL
SELECT (SELECT LONG_DATA -- LONG 타입 필드 FROM TBL_DTL WHERE 1 = 1 AND COL1 = A.COL1 AND COL2 = A.COL2 AND COL3 = A.COL3 AND COL4 = '4') FROM TBL A
ORA-00997: LONG 데이터 유형은 사용할 수 없습니다.
function
CREATE OR REPLACE FUNCTION FN_LONG_TO_VARCHAR ( P_COL1 VARCHAR2, P_COL2 VARCHAR2, P_COL3 VARCHAR2, P_COL4 VARCHAR2 ) RETURN VARCHAR AS DATA VARCHAR2 (20000); BEGIN SELECT LONG_DATA INTO DATA FROM TBL_DTL WHERE 1 = 1 AND COL1 = P_COL1 AND COL2 = P_COL2 AND COL3 = P_COL3 AND COL4 = P_COL4 ; RETURN DATA; END;
SQL
SELECT FN_LONG_TO_VARCHAR(A.COL1, A.COL2, A.COL3, '4') FROM TBL A