업무하면서 DB와 관련해서 은근히 많이 접하게 되는 경우가 있는데 바로
기존 테이블에 컬럼을 추가하거나 기존컬럼의 여러 설정을 변경하는 것이다. (예:기존컬럼값의 타입 변경등..)
과거 개발 설계 단계에서 예상치 못했던 정보의 추가나,
새로운 요구사항을 받아 개발할 때에 기존DB테이블에 욱여 넣으면 아무래도 개발이 쉬워질 때 ㅠ_ㅠ 애용하고 있다.
여하튼, ALTER를 활용하여 기존 테이블의 컬럼과 관련된 것을 수정할 수 있다.
01. 컬럼 추가
- 형태 :
ALTER TABLE ${TABLE_NAME} ADD ${COLUMN_NAME} ${COLUMN_TYPE} [NULL or NOT NULL];
- 예제_01 :
ALTER TABLE HOMEPAGE_SUPPORT_HISTORY ADD SUPPORT_NAME2 VARCHAR2(50) NULL; -- NULL 허용 시
- 예제_02 :
ALTER TABLE HOMEPAGE_SUPPORT_HISTORY ADD SUPPORT_NAME2 VARCHAR2(50) NOT NULL; -- NULL 비허용 시
- 예제_03 :
ALTER TABLE HOMEPAGE_SUPPORT_HISTORY ADD SUPPORT_NAME2 VARCHAR2(50) NOT NULL DEFAULT '상품명2'; -- NULL 비허용 / 기본값 설정 시
02. 컬럼 속성 변경
- 형태 :
ALTER TABLE ${TABLE_NAME} ALTER COLUMN ${COLUMN_NAME} ${COLUMN_TYPE} [NULL or NOT NULL];
- 예제_01 :
ALTER TABLE HOMEPAGE_SUPPORT_HISTORY ALTER COLUMN SUPPORT_NAME2 VARCHAR2(100) NULL; --SUPPORT_NAME2의 속성을 변경(크기변경)/ NULL허용하도록
03. 컬럼 이름 변경
- 형태 :
EXEC SP_RENAME '${TABLE_NAME}.[${COLUMN_NAME_OLD}]', '${COLUMN_NAME_NEW}', 'COLUMN';
- 예제_01 : 컬럼이름 변경은 사용하기 보다는 처음부터 잘 정해서 쓰는게 여러모로 편리하긴 하다 ㅡ_ㅡ;;;
EXEC SP_RENAME 'HOMEPAGE_SUPPORT_HISTORY.[SUPPORT_NAME2]', 'SUPPORT_NAME_2', 'COLUMN'; --SUPPORT_NAME2의 이름을 SUPPORT_NAME_2로 변경
04. 컬럼 삭제
- 형태 :
ALTER TABLE ${TABBLE_NAME} DROP COLUMN ${COLUMN_NAME};
- 예제_01 : 컬럼을 삭제하는 경우는 사실 경험이 부족하여 많지는 않았다. 이미 데이터가 들어가 있는 경우도 있으므로 더욱 그러했다.
ALTER TABLE HOMEPAGE_SUPPORT_HISTORY DROP COLUMN SUPPORT_NAME2; --SUPPORT_NAME2 컬럼 삭제
댓글