헤르메스 LIFE

[MSSQL] 컬럼속성 변경 본문

Database

[MSSQL] 컬럼속성 변경

헤르메스의날개 2020. 12. 14. 11:42
728x90

방법

-- 컬럼명 변경하기
SP_RENAME '{TABLE_NAME}.{TARGET_COLUMN_NAME}', '{NEW_COLUMN_NAME}', 'column'

-- 컬럼타입 변경하기
ALTER TABLE {TABLE_NAME} ALTER COLUMN {COLUMN_NAME} {ATTRIBUTES}

-- 컬럼 추가하기
ALTER TABLE {TABLE_NAME} ADD {COLUMN_NAME} {ATTRIBUTES}

-- 컬럼 삭제하기
ALTER TABLE {TABLE_NAME} DROP COLUMN {COLUMN_NAME}

 

예제

-- 컬럼명 변경하기
SP_RENAME 'ACCOUNT.LASTNAME', 'NAME', 'column'

-- 컬럼타입 변경하기
ALTER TABLE ACCOUNT ALTER COLUMN LASTNAME VARCHAR(100) NOT NULL

-- 컬럼 추가하기
ALTER TABLE ACCOUNT ADD AGE INT NOT NULL DEFAULT(0)

-- 컬럼 삭제하기
ALTER TABLE ACCOUNT DROP COLUMN AGE;

 

변경할 컬럼이 PK 일 경우

-- Primary Key 해제
ALTER TABLE 테이블 이름 DROP CONSTRAINT 인덱스 이름;

-- 컬럼 속성 변경
ALTER TABLE 테이블 이름 ALTER COLUMN 컬럼 이름 VARCHAR(32) NOT NULL;

-- Primary Key 등록
ALTER TABLE 테이블 이름 ADD CONSTRAINT 인덱스 이름 PRIMARY KEY (컬럼 이름);

예제

-- Primary Key 해제
ALTER TABLE TB_CODE_D DROP CONSTRAINT PK_TB_CODE_D

-- 컬럼 속성 변경
ALTER TABLE TB_CODE_D ALTER COLUMN DTL_CD VARCHAR(40) NOT NULL

-- Primary Key 등록
ALTER TABLE TB_CODE_D ADD CONSTRAINT PK_TB_CODE_D PRIMARY KEY (CMPY_CD, MST_CD, DTL_CD);
728x90