我有两个表tblData1,tblData2现在我想从另一个带有标识插入的表中迁移记录,并且尝试运行如下所示的命令
tblData1
tblData2
SET IDENTITY_INSERT LP1.dbo.tblData1 ON GO SET IDENTITY_INSERT LP1.dbo.tblData2 ON GO INSERT INTO LP1.DBO.tblData1 (ID,DATA) SELECT ID,DATA FROM LP.DBO.tblData1 GO INSERT INTO LP1.DBO.tblData2 (ID,DATA) SELECT ID,DATA FROM LP.DBO.tblData2 GO SET IDENTITY_INSERT LP1.dbo.tblData1 OFF GO SET IDENTITY_INSERT LP1.dbo.tblData2 OFF GO
但是它显示错误如下
表’Sample_Training.dbo.tblData1’的IDENTITY_INSERT已经打开。无法对表’dbo.tblData2’执行SET操作
是否可以IDENTITY_INSERT在SQL Server 2008中一次执行多个
IDENTITY_INSERT
任何时候,会话中只有一个表可以将IDENTITY_INSERT属性设置为ON。
因此,在启用另一个功能之前,应先将其启用。 如果表的数量较少,则可以在操作之前和之后打开和关闭。 如果表数量巨大,则应在操作之前以某种方式自动启用和禁用。