Database/🅾 Oracle

칼럼 순서 변경 방법 [SQL / Oracle]

키깡 2022. 7. 21.
728x90

테이블의 칼럼 위치를 수정해야 하는 업무가 있었다.
하지만 다 날리고 다시 박아넣는 것 말고 다른 방법이 있지 않을까 하는 생각이 들었다.

칼럼을 날리고 다시 넣으면 백업될때 컬럼명과 사이즈만 복제되고 테이블의 PK, INDEX나 COMMENT 등은 백업되지 않지만
INVISIBLE-VISIBLE을 사용하면 쉽게 칼럼간 순서를 변경할 수 있다.

예를 들어 TB 테이블에서 A B C D E 순으로 되어있는 칼럼을
A B E C D로 변경하려 한다고 하자.

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

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

위와 같이 C와 D를 INVISIBLE에서 다시 VISIBLE로 하면 그 다음으로 붙는다.

참고

[ORACLE] TABLE 컬럼 순서 바꾸기

댓글