2016년 5월 8일 일요일

Oracle column modify varchar2 to clob

Oracle column modify varchar2 to clob

Oracle 에서 varchar2 타입을 CLOB 타입으로 변경하는 경우
‘ALTER TABLE 테이블명 MODIFY’ 로는 변경이 되지 않는다.

구글링해서 알아낸 방법!

1. 기존 컬럼(varchar2)의 데이터를 옮길 새 컬럼(CLOB)을 만든다.
2. 기존 컬럼의 값을 새 컬럼에 UPDATE 한다.(복사)
3. 데이터가 잘 복사 되었는지 확인한다.(손실되면 큰일이므로 반드시 확인 후 commit 처리!)
4. 복사가 잘되었으면 COMMIT! 아니면 ROLLBACK!
5. 기존 컬럼을 삭제한다.
6. 새 컬럼의 이름을 기존 컬럼의 이름으로 변경한다.

ALTER TABLE <table_name> ADD ( <new_column_name> CLOB );
UPDATE <table_name> SET <new_column_name> = <old_column_name>;
ALTER TABLE <table_name> DROP ( <old_column_name> );
ALTER TABLE <table_name> RENAME COLUMN <new_column_name> TO <old_column_name> ;

댓글 없음:

댓글 쓰기