본문 바로가기
Database

Oracle) 데이터 형식 VARCHAR2 -> CLOB로 변경하기

by Lcoding 2024. 11. 26.
반응형

안녕하세요 

오늘은 Oracle에서 데이터 형식을 VARCHAR2 -> CLOB로 변경하는 방법에 대하여 알아보겠습니다.

 

Oracle에서 VARCHAR2형식으로 긴 문자열 데이터를 저장할경우 다음과 같이 선언하게됩니다.

 

ColumnName VARCHAR2(4000)

 

하지만 이렇게 선언할경우 4000바이트가 넘는 문자열은 저장할 수 없게 되며, 아래와 같은 에러가 발생합니다.

ORA-01461 "Long 열에 삽입할때만 Long 값을 바인딩 할 수 있습니다."

 

이런경우 해당 컬럼의 형식을 CLOB로 변경해줘야합니다. [  CLOB은 최대 4GB까지 저장이 가능합니다. ]

 

하지만 아래과 같이 VARCHAR2형식인 컬럼을 바로 CLOB형식으로 변경하게되면

ALTER TABLE [테이블명] MODIFY COLUMN [컬럼명] CLOB

 

"데이터유형이 부적격하여 변경할수 없다"는 형식의 오류를 만나게됩니다,

 

결론 -

VARCHAR2 -> CLOB로 형식을 변경하기 위해서는

 

ALTER TABLE [테이블명] MODIFY COLUMN [컬럼명] LONG

ALTER TABLE [테이블명] MODIFY COLUMN [컬럼명] CLOB

위와 같이 두번에 나눠서 변경해줘야합니다.

 

감사합니다.

 

 

반응형

loading