로메오의 블로그

[ORACLE] TABLE 컬럼 순서 바꾸기 본문

Backend/Oracle & SQL

[ORACLE] TABLE 컬럼 순서 바꾸기

romeoh 2020. 3. 16. 15:18
반응형

테이블명: COMPANY_TABLE

A B C D E
         

 

위와 같이 COMPANY_TABLE 의 컬럼이 A, B, C, D, E 순으로 되어 있는데

A, B, E, C, D로 변경하려고 합니다.

 

테이블 백업해서 변경하는 방법

-- COPANY_TABLE_BACK 테이블을 BACKUP 생성한다.
CREATE TABLE COPANY_TABLE_BACK AS SELECT A, B, E, C, D FROM COMPANY_TABLE;

-- COMPANY_TABLE을 제거한다.
DROP COMPANY_TABLE;

-- COPANY_TABLE_BACK 테이블을 COPANY_TABLE로 변경한다.
RENAME COPANY_TABLE_BACK TO COPANY_TABLE;

 

 

컬럼을 숨김해서 변경하는 방법

위와 같은 방법으로 하면 백업될때 컬럼명과 사이즈만 복제되고

테이블의 PK, INDEX나 COMMENT 등은 백업되지 않습니다.

 

그래서 VISIBLE, INVISIBLE을 사용해서 컬럼의 순서를 바꾸도록 합니다.

-- 뒤로 옮길 컬럼을 순서대로 INVISIBLE 한다.
ALTER TABLE COMPANY_TABLE MODIFY (C INVISIBLE);
ALTER TABLE COMPANY_TABLE MODIFY (D INVISIBLE);

-- 뒤로 옮길 컬럼을 순서대로 VISIBLE 한다.
ALTER TABLE COMPANY_TABLE MODIFY (C VISIBLE);
ALTER TABLE COMPANY_TABLE MODIFY (D VISIBLE);

 

 

반응형
Comments