1. 컬럼 추가
SQL> ALTER TABLE 테이블
ADD (컬럼1 VARCHAR2(03) NULL,
컬럼2 NUMBER(05) NULL);
2. 컬럼TYPE 및 LENGTH 변경
SQL> ALTER TABLE 테이블
MODIFY (컬럼1 VARCHAR2(05) NULL,
컬럼2 NUMBER(08) NOT NULL);
3. 컬럼 DEFAULT 변경
SQL> ALTER TABLE 테이블
MODIFY (컬럼1 VARCHAR2(05) DEFAULT 'N' NOT NULL,
컬럼2 NUMBER(08) DEFAULT 0 NOT NULL,
컬럼3 DATE DEFAULT SYSDATE NOT NULL);
4. 컬럼 삭제(8i~)
SQL> ALTER TABLE 테이블 DROP COLUMN 컬럼1; -- 1개 컬럼
SQL> ALTER TABLE 테이블 DROP (컬럼1, 컬럼2); -- 2개 컬럼 이상
5. 사용하지 않는 컬럼으로 표시(8i~)
SQL> ALTER TABLE 테이블 SET UNUSED COLUMN 컬럼1; -- 1개 컬럼
SQL> ALTER TABLE 테이블 SET UNUSED (컬럼1, 컬럼2); -- 2개 컬럼 이상
6. 사용하지 않는 column으로 표시된 컬럼 삭제(8i~)
SQL> ALTER TABLE 테이블 DROP UNUSED COLUMNS CHECKPOINT 1000;
7. 컬럼 RENAME 방법
- ~ 8i : TABLE 재생성
- 9iR1(9.0.1) ~ : DBMS_REDEFINITION을 이용(Bulletin No: 12279 참조)
- 9iR2(9.2.0) ~ : SQL> ALTER TABLE 테이블 RENAME COLUMN old_컬럼 TO new_컬럼;
8. 여러 테이블에서 사용하는 컬럼의 길이를 변경하고자 할 경우
SQL> SELECT 'ALTER TABLE '||TABLE_NAME||' MODIFY ('||COLUMN_NAME||' '||DATA_TYPE||'(7));' [출처] DDL - 오라클 Alter table(컬럼)|작성자 smileDBA
FROM USER_TAB_COLUMNS
WHERE COLUMN_NAME LIKE '%컬럼%';
'DataBase > Sql' 카테고리의 다른 글
[Sql] Mysql - Rownum 사용하여 건수 조절 (0) | 2010.08.24 |
---|---|
[Sql] Oracle - Union vs Union ALL (0) | 2010.07.08 |
[Sql] Oracle - 특정 컬럼의 comment알아내기 (0) | 2010.06.29 |
[Sql] Oracle - 정규화 예제 (0) | 2010.06.07 |
[Sql] Oracle - MERGE (update 실패시 insert) (1) | 2010.05.20 |