반응형
안녕하세요
오늘은 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
위와 같이 두번에 나눠서 변경해줘야합니다.
감사합니다.
반응형
'Database' 카테고리의 다른 글
Oracle 무결성 제약조건 위배되었습니다- 부모 키가 없습니다 (0) | 2024.11.28 |
---|---|
[Oracle] Merge문 (1) | 2024.11.27 |
Oracle PL/SQL이란? (0) | 2024.11.23 |
규칙기반 옵티마이저와 비용기반 옵티마이저의 차이 (0) | 2024.03.03 |
Oracle SQL 힌트 리스트 (0) | 2024.02.18 |