我的更新查询不会触发更新后触发
问题描述:
如果我这样写:我的更新查询不会触发更新后触发
update School set Name = Name where Id = 733021
我的触发声明如下工作:
[dbo].[SchoolUpdateSomething] ON
[dbo].[School] AFTER INSERT, UPDATE
AS
DECLARE @N int, @SchoolType nvarchar(255)
但如果我这样做
update School set Name = Name
它将不会触发所有行的触发器。为什么?
我也看到了同样的问题,而真正从另一个表更新与学校名称的名称更新行,为为例:
UPDATE School
SET Name = usl.Name
FROM School s INNER JOIN UpdatedSchoolList usl
ON s.Id = usl.Id COLLATE DATABASE_DEFAULT
卡尔
答
http://bytes.com/topic/sql-server/answers/80432-statement-level-vs-row-level-triggers
你必须自己采取行动在INSERTED伪表中的行上。
+0
我想我理解这个问题,但不是你的解决方案。你能详细说明吗? – Malartre 2010-12-09 00:45:41
你可以发布你的触发器的代码? – 2010-12-09 00:41:47