티스토리 뷰

오랬만에 그리고 SQL로서는 두번째 글


identity값이 설정이 된 테이블에서 데이터 Insert시 

IDENTITY_INSERT가 OFF로 설정되면 테이블 'tblProductLecture'의 ID 열에 명시적 값을 삽입할 수 없습니다.

라는 메시지를 뿌리며 오류를 뿜어내는데, 이 부분에 대한 처리방법은 존재한다.


하지만.. 데이터가 있을때 사용하면..문제가 있고..등등..조건들이 있어서 최초 테이블 마이그레이션 할때 말고는 안썼다.

(조건등등..찾아서 중복하는지 확인하기 귀찮아서 안쓴거라서...)


Insert Into 신규테이블 (
                identity 설정된 컬럼,
                 값1,
                 값2)
Select
                 역시 identity 설정된 컬럼,
                 값1 ,
                 값2
From
                 원본테이블

이걸 바로 실행하면 Error.. 발생. 그래서..


Set Identity_Insert 신규테이블 ON


Insert Into 신규테이블 (
                identity 설정된 컬럼,
                 값1,
                 값2)
Select
                 역시 identity 설정된 컬럼,
                 값1 ,
                 값2
From
                 원본테이블


Set Identity_Insert 신규테이블 OFF



이렇게 하면 된다..

간단하다..헐.;;