Ms-Sql identity를 설정한 컬럼에 데이터 입력하기

database 2010. 1. 3. 22:22
Ms-Sql에서 자동증가값을 위해 identity를 설정한 컬럼에는
insert 구문을 통해 그 컬럼에 대해 직접 데이터를 insert 할수 가 없다

데이터베이스에 테스트데이터를 넣는다든가 migration을 할때에는
identity를 해제해야 할 경우가 있다.

set identity_insert를 사용하면 간단히 데이터를 insert 할 수가 있다.

아래와 같이 identity를 설정한 테이블이 있을때
create table TEST (
seq int identity(1,1)
,name varchar(20)
)

아래와 같이 insert 구문을 실행하면 identity를 설정한 컬럼에 데이터를 insert 할 수가 있다.
set identity_insert TEST on
insert into TEST
(seq, name)
values
(1, 'test')
set identity_insert TEST off

insert를 하기전에 on
insert를 한 후에는 off

: