반응형
오라클 컬럼 순서 변경 방법 (INVISIBLE, VISIBLE)
오라클 12c 이상에서는 INVISIBLE과 VISIBLE 속성을 사용하여 컬럼의 순서를 변경할 수 있습니다. 이 방법은 기존 테이블을 재구성하지 않고도 컬럼 순서를 효과적으로 변경할 수 있게 해줍니다.
1. 오라클 12c 이상에서 컬럼 순서 변경 방법
오라클 12c부터는 칼럼을 INVISIBLE로 숨기고, VISIBLE로 다시 나타나게 함으로써 컬럼 순서를 변경할 수 있습니다. 이 방법은 기존 테이블 구조를 변경하지 않고 칼럼의 순서를 조정할 수 있습니다.
-- 컬럼을 INVISIBLE로 설정하여 순서를 뒤로 옮기기 ALTER TABLE students MODIFY birth_date INVISIBLE; ALTER TABLE students MODIFY grade INVISIBLE; ALTER TABLE students MODIFY major INVISIBLE; ALTER TABLE students MODIFY email INVISIBLE; ALTER TABLE students MODIFY phone_number INVISIBLE; ALTER TABLE students MODIFY student_id INVISIBLE; -- 컬럼을 다시 VISIBLE로 설정하여 순서대로 보이게 하기 ALTER TABLE students MODIFY birth_date VISIBLE; ALTER TABLE students MODIFY grade VISIBLE; ALTER TABLE students MODIFY major VISIBLE; ALTER TABLE students MODIFY email VISIBLE; ALTER TABLE students MODIFY phone_number VISIBLE; ALTER TABLE students MODIFY student_id VISIBLE;
이렇게 INVISIBLE로 설정한 컬럼을 다시 VISIBLE로 변경함으로써, 컬럼의 순서를 변경한 것처럼 보이게 됩니다.
2. 오라클 11g 이하에서 컬럼 순서 변경 방법
오라클 11g 이하에서는 컬럼 순서를 변경하려면 테이블을 재구성해야 합니다. CREATE TABLE AS SELECT 구문을 사용하여 임시 테이블을 생성하고, 그 테이블의 컬럼 순서를 재조정한 후 원본 테이블을 교체하는 방법을 사용합니다.
-- 임시 테이블을 생성하여 새로운 컬럼 순서를 설정하기 CREATE TABLE students_temp AS SELECT student_id, first_name, last_name, birth_date, grade, major, email, phone_number FROM students; -- 원본 테이블 삭제 DROP TABLE students; -- 임시 테이블명을 원본 테이블명으로 변경 RENAME students_temp TO students;
3. 주의사항
컬럼 순서를 변경하기 위해 테이블을 재구성하는 것은 특별한 경우에만 권장됩니다. 테이블 삭제 시 PK, INDEX, 제약조건 등이 함께 삭제되므로 반드시 백업 후 작업을 진행해야 합니다.
결론
오라클 12c 이상에서는 INVISIBLE과 VISIBLE 속성을 활용해 테이블의 물리적인 변경 없이 컬럼 순서를 변경할 수 있습니다. 11g 이하에서는 테이블을 재생성하는 방식으로 컬럼 순서를 변경할 수 있습니다. 필요한 경우 적절한 방법을 선택하여 사용하세요.
반응형