ORACLE VARCHAR2 --> CLOB 로 바꾸는 방법....
-- 옮기기위한 테이블과 옮길 테이블 그리고 중간 단계를 거칠 테이블을 생성한다.
테이블 정보
TEST_TBL : ( 옮기기 위한 테이블) 원본
USERID VARCHAR2(20) ,
CONTENT VARCHAR2(40000)
TEST_TBL_LONG : (CLOB로 바꾸기 위하여 중간에 거치는 테이블)
USERID VARCHAR(20),
CONTENT LONG
TEST_TML_CLOB : (마지막으로 바꿀 테이블)
USERID VARCHAR(20),
CONTENT CLOB
예를 들어 위와 같은 테이블을 만들어 테스트를 해볼수 있다.
일반 VARCHAR2 에서 CLOB로 바로 옮길수는 없다. LONG 형에서 CLOB로 옮길수는 있다.
바로TO_LOB를 쓰면 LONG 에서 CLOB로 바꿀수 있다.
단 , 여기서 바꾸거나, 바뀌는 모든 테이블이 모두 같은 수의 컬럼과 순서를 가지고 있다.
1. 바꾸고 싶은 원본 테이블을 LONG 으로 바꾸어 주어야 한다.
INSERT INTO TEST_TBL_LONG
SELECT USERID , CONTENT FROM TEST_TBL
2. LONG으로 바꾼 테이블을 CLOB로 바꾼다. 이때 TO_LOB를 사용한다.
INSERT INTO TEST_TBL_LONG
SELECT USERID ,TO_LOB(CONTENT) FROM TEST_TBL_LONG
이렇게 하면 비교적 손쉽게 VARCHAR2 를 CLOB로 바꿀수 있다.