我有一个已删除的文件存档数据库,其中存储了已删除文件的ID,我希望管理员能够恢复该文件(以及用于链接文件的相同ID)。我不想从整个表中删除identity_insert,因为增量为1的效果很好。在我的插入TBL_Content存储过程中,我有这样的东西
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’中为标识列插入显式值。
有什么帮助吗?
您是否应该在存储过程中将标识插入设置为on?看起来您仅在更改存储过程时才将其设置为on,而不是在实际调用它时才将其设置为on。尝试:
ALTER procedure [dbo].[spInsertDeletedIntoTBLContent] @ContentID int, SET IDENTITY_INSERT tbl_content ON ...insert command... SET IDENTITY_INSERT tbl_content OFF GO