2014/05/02

[MSSQL] IDENTITY지정 컬럼에 명시적으로 INSERT하기

SET IDENTITY_INSERT 옵션을 이용하여 IDENTITY가 지정된 컬럼에 명시적으로 값을 입력할 수 있다.
그러나 UPDATE는 안 됨.
-- IDENTITY 컬럼 지정
CREATE TABLE ID_TEST (
    ID_KEY INT IDENTITY(1,1),
    ID_NOT INT
)
 
-- IDENTITY 컬럼에 명시적 입력 설정
SET IDENTITY_INSERT ID_TEST ON
 
INSERT INTO ID_TEST (ID_KEY, ID_NOT )
SELECT ID_KEY, VAL
  FROM (
        SELECT 1 AS ID_KEY, 11 AS VAL UNION ALL
        SELECT 2 AS ID_KEY, 12 AS VAL UNION ALL
        SELECT 3 AS ID_KEY, 13 AS VAL UNION ALL
        SELECT 4 AS ID_KEY, 14 AS VAL 
       ) A
 
-- IDENTITY 컬럼에 명시적 입력 해제
SET IDENTITY_INSERT ID_TEST OFF

댓글 없음:

댓글 쓰기