Search

2015년 11월 4일 수요일

[Database] [MSSQL] IDENTITY_INSERT가 OFF로 설정되면~~~ 이라는 구문 대처하기.

* IDENTITY_INSERT가 OFF로 설정되면 테이블 'A_Table'의 ID 열에 명시적 값을 삽입할 수 없습니다.
* 위와 같은 구문이 등장했다는 소리는, 테이블 어딘가에 IDENTITY(1,1) 등과 같이(특히 idx나 Sequence 관련) 자동으로 증가하는 값을 가진 컬럼에서 문제가 발생한 것이다.
* 예를 들어, 아래와 같은 테이블이 있다고 가정하자.

CREATE TABLE A_Table(
 Column_1 INT IDENTITY(10001,1),
 Column_2 INT NULL,
 Column_3 INT NULL
)

* 여기에 값을 INSERT 하기 위해서는 다음과 같이 IDENTITY_INSERT를 ON 시켜준 후, 어느 컬럼에 어떤 값이 들어간다는 것을 꼭 명시해 줘야한다.

SET IDENTITY_INSERT A_Table ON
INSERT INTO A_Table(Column_1, Column_2) VALUES(10002, 1)
SET IDENTITY_INSERT A_Table OFF


댓글 없음:

댓글 쓰기