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);
반응형