是否可以在表触发器中打开它?
我尝试使用创建触发器 SET IDENTITY_INSERT tableName ON
但是当我打开触发器定义时,我发现声明不存在......
这是我的更改触发器以添加IDENTITY_INSERT的查询,当我打开定义时,IDENTITY_INSERT被删除...
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET IDENTITY_INSERT dbo.MyTable ON
GO
ALTER TRIGGER [dbo].[MyTrigger]
ON [dbo].[MyTable]
AFTER INSERT AS
INSERT INTO MyOtherTable
(
// values
)
SET IDENTITY_INSERT dbo.MyTable OFF
答案 0 :(得分:2)
要在触发器中打开和关闭它,您的SET IDENTITY_INSERT ON需要在此处:
插入后
设置IDENTITY_INSERT dbo.MyTable ON
INSERT INTO MyOtherTable
而不是在触发定义开始之前。在其当前位置,它仅在创建触发器时,而不是在实际使用时。