Мой запрос на обновление не запускает триггер AFTER UPDATE - PullRequest
2 голосов
/ 09 декабря 2010

Если я напишу это:

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 

Карл

1 Ответ

1 голос
/ 09 декабря 2010

http://bytes.com/topic/sql-server/answers/80432-statement-level-vs-row-level-triggers

Вы должны самостоятельно выполнить действия со строками в псевдотесте INSERTED.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...