IDENTITY_INSERT가 OFF로 설정되어 있습니다. 사용 설정 방법은 무엇입니까?
삭제 된 파일의 ID를 저장하는 삭제 된 파일 보관 데이터베이스가 있습니다. 관리자가 파일을 복원 할 수 있기를 원합니다 (파일 연결을위한 동일한 ID 포함). 하나의 증가가 훌륭하게 작동하기 때문에 전체 테이블에서 identity_insert를 제거하고 싶지 않습니다. 내 삽입 TBL_Content
저장 절차에 다음과 같은 것이 있습니다.
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
SET IDENTITY_INSERT tbl_content ON
GO
ALTER procedure [dbo].[spInsertDeletedIntoTBLContent]
@ContentID int,
...insert command...
SET IDENTITY_INSERT tbl_content OFF
하지만 같은 오류가 계속 발생합니다.
IDENTITY_INSERT가 OFF로 설정된 경우 'TBL_Content'테이블의 ID 열에 대한 명시 적 값을 삽입 할 수 없습니다.
도움이 필요하세요?
대신 저장 프로 시저 내에서 ID 삽입을 설정해야합니까? 실제로 호출 할 때가 아니라 저장 프로 시저를 변경할 때만 on으로 설정 한 것 같습니다. 시험:
ALTER procedure [dbo].[spInsertDeletedIntoTBLContent]
@ContentID int,
SET IDENTITY_INSERT tbl_content ON
...insert command...
SET IDENTITY_INSERT tbl_content OFF
GO
identity_Insert를 ON으로 설정하고 레코드를 삽입 한 다음 다시 꺼야하지 않습니까?
이렇게 :
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
SET IDENTITY_INSERT tbl_content ON
GO
ALTER procedure [dbo].[spInsertDeletedIntoTBLContent]
@ContentID int,
SET IDENTITY_INSERT tbl_content ON
...insert command...
SET IDENTITY_INSERT tbl_content OFF
단일 쿼리 일괄 처리로 수행해야한다고 생각합니다. 기본적으로 GO 문은 명령을 여러 배치로 나누고 이로 인해 문제가 발생합니다. 다음과 같이 변경하십시오.
SET IDENTITY_INSERT tbl_content ON
/* GO */
...insert command...
SET IDENTITY_INSERT tbl_content OFF
GO
조언
SQL Server에서는 하나의 테이블에만 IDENTITY_INSERT 속성을 ON으로 설정할 수 있습니다.
작동하지 않습니다.
SET IDENTITY_INSERT TableA ON
SET IDENTITY_INSERT TableB ON
... INSERT ON TableA ...
... INSERT ON TableB ...
SET IDENTITY_INSERT TableA OFF
SET IDENTITY_INSERT TableB OFF
대신 :
SET IDENTITY_INSERT TableA ON
... INSERT ON TableA ...
SET IDENTITY_INSERT TableA OFF
SET IDENTITY_INSERT TableB ON
... INSERT ON TableB ...
SET IDENTITY_INSERT TableB OFF
참조 : http://technet.microsoft.com/en-us/library/aa259221%28v=sql.80%29.aspx
내 테이블 이름 Genre
은 Id
, Name
및SortOrder
내가 사용한 코드는 다음과 같습니다.
SET IDENTITY_INSERT Genre ON
INSERT INTO Genre(Id, Name, SortOrder)VALUES (12,'Moody Blues', 20)
이 줄을 쿼리 위에 추가하십시오.
SET IDENTITY_INSERT tbl_content ON
또한 출발 추가
SET IDENTITY_INSERT Genre ON
INSERT INTO Genre(Id, Name, SortOrder)VALUES (12,'Moody Blues', 20)
SET IDENTITY_INSERT Genre OFF
참고 URL : https://stackoverflow.com/questions/3112579/identity-insert-is-set-to-off-how-to-turn-it-on
'IT story' 카테고리의 다른 글
SourceTree를 사용하여 분기 된 리포지토리를 어떻게 업데이트합니까? (0) | 2020.08.14 |
---|---|
JQuery : 'Uncaught TypeError : Illegal invocation'at ajax request-여러 요소 (0) | 2020.08.14 |
Git에서 복제 한 원본 저장소의 이름 찾기 (0) | 2020.08.14 |
APC는 PHP 5.4 또는 PHP 5.5와 호환됩니까? (0) | 2020.08.14 |
C #에서 프로그래밍 방식으로 키 누르기 이벤트를 생성하려면 어떻게해야합니까? (0) | 2020.08.14 |