프로그래밍/MSSQL\정보
[MSSQL] Identity 컬럼 입력(SET IDENTITY_INSERT)
Mr.Jo
2012. 5. 10. 13:00
Identity 가 지정되어있는 컬럼에 임의의 값을 넣으려고 하면 에러가 나면서 넣어지지 않는다
임의의 값을 넣기 위해선 다음과 같이 명시한다면 입력이 가능하다
SET IDENTITY_INSERT [대상 테이블] ON;
입력을 위해서는 INSERT절에 해당 컬럼을 명시적으로 선언해야 한다
INSERT INTO [대상 테이블]([컬럼2], [컬럼2], [컬럼3], [컬럼4]...) VALUES([값1], [값2], [값3], [값4]...); INSERT INTO [대상 테이블]([컬럼2], [컬럼2], [컬럼3], [컬럼4]...) SELECT [값1], [값2], [값3], [값4]... FROM ...;
입력 후에 다음과 같이 만들어 준다.
SET IDENTITY_INSERT [대상 테이블] OFF;
※주의사항 : 한번에 한 테이블에만 설정이 가능 하기 때문에 여러 테이블 대상일 경우 하나씩 설정 해야 함