ORACLE CLOB 컬럼인데 4000Byte 이상 INSERT 시 오류가 발생 했다..

CLOB 컬럼에 4000byte 이상 값을 INSERT / UPDATE 할 경우

ORA-01461: LONG 값은 LONG 열에만 입력할 수 있습니다 오라클 에러가 발생했다

4000bytes 이상 데이터를 저장하기 위해 VARCHAR2안쓰고

CLOB를 사용했는데 에러가 발생했다 :( ...

 

원인은 오라클 String타입 함수

INSERT INTO TABLE_NAME
(
COLUMN_MN
)
VALUES
(
NVL (#COLUMN_NAME#, ' ')
)

오류 원인은 INSERT 쿼리에서 VALUES값 셋팅 시

NVL을 사용함으로 인해서 String 타입으로 자동 변환되서

4000bytes 이상 값이 들어왔을 때 에러가 발생한 것이다.

 

오라클 함수를 안쓰니까 해결!

INSERT INTO TABLE_NAME
(
COLUMN_MN
)
VALUES
(
#COLUMN_NAME#
)

NVL 빼버리고 바로 값 셋팅하니 정상 동작 됐다 -!

 

+ Recent posts