IDENTITY_ 설정INSERT ON이 작동하지 않습니다.
테이블을 복사하고 싶습니다.Equipment하나의 데이터베이스에서MyDBQA테스트 데이터베이스로MyDB테이블에 기본 키(null이 아닌 int)인 ID 열이 있습니다.
하지만 오류가 발생했습니다.
Msg 8101, 레벨 16, 상태 1, 라인 2
'MyDB.dbo' 테이블의 ID 열에 대한 명시적 값입니다.Equipment'는 열 목록이 사용되고 IDENTITY_인 경우에만 지정할 수 있습니다.INSERT가 켜져 있습니다.
내 대본:
SET IDENTITY_INSERT [MyDB].[dbo].[Equipment] ON
INSERT INTO [MyDB].[dbo].[Equipment] SELECT * FROM [MyDBQA].[dbo].[Equipment]
SET IDENTITY_INSERT [MyDB].[dbo].[Equipment] OFF
메시지에 표시된 대로 열 목록이 누락되었을 수 있습니다.
SET IDENTITY_INSERT [MyDB].[dbo].[Equipment] ON
INSERT INTO [MyDB].[dbo].[Equipment]
(COL1,
COL2)
SELECT COL1,
COL2
FROM [MyDBQA].[dbo].[Equipment]
SET IDENTITY_INSERT [MyDB].[dbo].[Equipment] OFF
오류 메시지의 관련 부분은 다음과 같습니다.
...when a column list is used...
열 목록을 사용하지 않고 사용 중입니다.SELECT *대신 열 목록을 사용합니다.
SET IDENTITY_INSERT [MyDB].[dbo].[Equipment] ON
INSERT INTO [MyDB].[dbo].[Equipment] (Col1, Col2, ...)
SELECT Col1, Col2, ... FROM [MyDBQA].[dbo].[Equipment]
SET IDENTITY_INSERT [MyDB].[dbo].[Equipment] OFF
VB 코드에서, 제출하려고 할 때INSERT쿼리, 다음과 같은 동일한 '쿼리 비쿼리'로 이중 쿼리를 제출해야 합니다.
sqlQuery = "SET IDENTITY_INSERT dbo.TheTable ON; INSERT INTO dbo.TheTable (Col1, COl2) VALUES (Val1, Val2); SET IDENTITY_INSERT dbo.TheTable OFF;"
제가 사용한 것입니다.;구분 기호를 입력합니다.
나한테 효과가 있어요.늦었지만 효율적입니다!
다음은 SET IDITY_ 사용에 대한 Microsoft의 설명입니다.INSERT - 나처럼 삭제된 레코드를 원래 ID 열 값을 유지하면서 재생성할 때 이 게시물을 발견한 다른 사용자에게 도움이 될 수 있습니다.
삭제된 레코드를 원래 ID 열 값으로 재생성하려면 http://msdn.microsoft.com/en-us/library/aa259221(v=sql.80).aspx
언급URL : https://stackoverflow.com/questions/12006273/set-identity-insert-on-is-not-working
'codememo' 카테고리의 다른 글
| 여러 스레드에서 Bhem GC를 독립적으로 실행 (0) | 2023.08.01 |
|---|---|
| Android Studio 내의 LogCat 창 복원 (0) | 2023.08.01 |
| 원산지 'http://localhost:4200'이(가) Angular7의 CORS 정책에 의해 차단되었습니다. (0) | 2023.08.01 |
| 테이블 가운데에 새 열을 삽입하시겠습니까? (0) | 2023.08.01 |
| NS Dictionary에 추가하는 방법 (0) | 2023.08.01 |