DB

[DB][Oracle] 컬럼추가, 원하는 위치에 컬럼추가하기

오선지♬ 2024. 9. 5. 19:32
728x90
반응형

오라클 데이터베이스에서 컬럼을 추가할 때, 컬럼이 원하는 순서로 배치되도록 하는 것은 기본적으로 지원되지 않습니다. 오라클은 컬럼을 추가할 때, 기본적으로 테이블의 마지막에 추가합니다. 그러나 원하는 순서로 컬럼을 배치하고자 할 경우, 다음과 같은 방법을 사용할 수 있습니다:

1. 테이블 재생성 (Recreate the Table): 가장 확실한 방법은 새로운 테이블을 만들고 데이터를 이전하는 것입니다. 이 방법은 가장 많은 작업이 필요하지만, 원하는 순서로 컬럼을 배치할 수 있습니다.

-- 현재 테이블의 스키마와 데이터 백업
CREATE TABLE new_table AS SELECT * FROM old_table WHERE 1=2;

-- 새 테이블에 원하는 컬럼 순서로 추가
ALTER TABLE new_table ADD (column1 datatype, column2 datatype, ...);

-- 기존 테이블의 데이터 복사
INSERT INTO new_table (column1, column2, ...) SELECT column1, column2, ... FROM old_table;

-- 기존 테이블 삭제
DROP TABLE old_table;

-- 새 테이블을 기존 테이블 이름으로 변경
RENAME new_table TO old_table;

 

2. 뷰(View) 사용: 컬럼 순서가 중요한 경우, 뷰를 생성하여 원하는 컬럼 순서로 데이터를 조회할 수 있습니다.

CREATE VIEW my_view AS
SELECT column1, column2, column3
FROM my_table;

 

3. Oracle SQL Developer: Oracle SQL Developer와 같은 도구를 사용하면 GUI에서 테이블 구조를 보다 쉽게 수정할 수 있습니다. 테이블을 재생성하는 것보다는 간편하지만, 여전히 많은 수동 작업이 필요합니다.

 

4.PL/SQL 스크립트: 복잡한 테이블 구조를 다룰 때는 PL/SQL 스크립트를 작성하여 컬럼을 추가하고, 데이터를 이전하며, 테이블을 재구성할 수 있습니다.

728x90
반응형