DB(MS, Oracle, PG, MY..etc)
mssql 제약조건(constraint)때문에 테이블 변경(alter table, column)이 안될 때
nwairr
2012. 5. 3. 12:17
반응형
테이블의 컬럼 속성을 변경하고자 할 때
제약조건 때문에 변경이 되지 않을 경우가 있다.
이럴 경우에는
제약조건을 drop 시키고 다시 add를 해 줘야 하는데
필요한 구문은 다음과 같다.
-- 제약조건 drop
alter table [테이블 명] drop constraint [제약조건 명]
-- 테이블 컬럼 속성 변경
alter table [테이블 명] alter column [컬럼 명] [컬럼 속성]
-- 새로운 제약조건 추가
alter table [테이블 명] add constraint [제약조건 명] [제약조건 속성(ex default '')] for [컬럼 명]
아쉽지만 한 번에 alter table alter column alter constraint 를 할 수는 없는 것 같다.
update는 결국 delete와 insert를 실행하는 것으로 생각하면 될 것같다.
참고로
제약조건 및 컬럼 속성을 보려면
sp_help [테이블 명]
을 하면 테이블에 대한 정보를 볼 수가 있다.
반응형