Database/Oracle

Change the column name

Jared 2009. 7. 12. 15:40
Oracle에서는 column name 변경하는 것을 지원하지 않는다. 단지 table name만 다음과 같이 변경할 수 있다.

rename old_table to new_table;

따라서 Oracle에서는 편법을 이용하여 column name을 변경해야 하는데, 다음의 방법을 사용해 보자.

1. 원본테이블에 변경하고자 하는 컬럼명 ADD
2. 원하는 컬럼명을 기존 컬럼에서 값을 복사
3. 기존 컬럼제거

test 테이블 변경. nm을 name으로 rename
ALTER TABLE test ADD name VARCHAR2(50) UPDATE test SET name=nm; ALTER TABLE test DROP COLUMN nm;

test 테이블 변경. nm, cd을 각각 name, code로 rename
ALTER TABLE test ADD name VARCHAR2(50) ADD code VARCHAR2(5) UPDATE test SET name=nm, code=cd ALTER TABLE test DROP (nm, cd)