BackEnd/DB(SQL)
[Oracle] 테이블 컬럼명, 데이터 타입, 길이 변경하는 방법 정리
bobo12
2025. 5. 30. 18:52
728x90
Oracle DB에서 테이블을 설계한 뒤, 실무에서 컬럼명을 바꾸거나 데이터 타입 및 사이즈를 수정해야 하는 경우가 자주 발생합니다. 이 글에서는 오라클에서 컬럼을 변경하는 다양한 방법에 대해 정리합니다.
✅ 1. 컬럼 이름 변경 (RENAME COLUMN)
컬럼명을 잘못 지정했거나, 좀 더 의미 있는 이름으로 바꾸고 싶을 때 사용합니다.
ALTER TABLE 테이블명
RENAME COLUMN 기존컬럼명 TO 새컬럼명;
📌 예시
ALTER TABLE EMPLOYEES
RENAME COLUMN ENAME TO EMP_NAME;
✅ 2. 컬럼 데이터 타입 변경
컬럼의 데이터 타입이나 "사이즈(길이)"를 변경할 때 사용합니다.
ALTER TABLE 테이블명
MODIFY (컬럼명 데이터타입);
📌 예시: VARCHAR2 길이 변경
ALTER TABLE EMPLOYEES
MODIFY (EMP_NAME VARCHAR2(100));
📌 예시: NUMBER 타입 변경
ALTER TABLE SALES
MODIFY (TOTAL_AMOUNT NUMBER(18, 2));
🛑 주의
- 이미 들어있는 데이터가 새로운 데이터 타입을 수용하지 못하면 오류가 발생합니다.
- 예: 기존 NUMBER(5,0) 컬럼에 100000이 들어있을 때 NUMBER(4,0)으로 변경 → ORA-01440 오류 발생
✅ 3. 컬럼 NULL/NOT NULL 제약 변경
-- NULL 허용으로 변경
ALTER TABLE 테이블명
MODIFY (컬럼명 데이터타입 NULL);
-- NOT NULL 제약 추가
ALTER TABLE 테이블명
MODIFY (컬럼명 데이터타입 NOT NULL);
📌 예시
ALTER TABLE EMPLOYEES
MODIFY (EMP_NAME VARCHAR2(100) NOT NULL);
✅ 4. 주의 사항
- 컬럼명 변경은 단순하지만, 프로그램 코드, 뷰, 프로시저 등 종속 객체도 함께 수정해야 합니다.
- 사이즈 축소, 타입 변경은 데이터 손실이 발생할 수 있으니 사전 백업이 필요합니다.
- 컬럼명 변경은 오라클 9i 이상에서 지원됩니다.
✅ 5. 컬럼 삭제 방법 (추가 팁)
ALTER TABLE 테이블명
DROP COLUMN 컬럼명;
📌 예시
ALTER TABLE EMPLOYEES
DROP COLUMN TEMP_FIELD;
Oracle에서 컬럼을 수정하는 방법은 간단하지만, 시스템 전체에 영향을 줄 수 있습니다.
변경 전 반드시 다음 사항을 체크하세요.
- 변경 대상 컬럼의 데이터 값
- 컬럼을 참조하는 다른 객체(뷰, 프로시저 등)
- 데이터 백업
💡 안전하게 변경하려면 테스트 환경에서 먼저 적용해 보는 것이 좋습니다.
728x90