Обновление триггера для заполнения поля ModifyDate - PullRequest
0 голосов
/ 13 мая 2010

Я ищу пример хорошего триггера обновления для обновления поля ModifyDate таблицы.

Было бы хорошо рассмотреть случай, когда команда обновления обновила более одной записи в таблице.

Есть хороший шаблон или учебник для этого?

Ответы [ 2 ]

1 голос
/ 13 мая 2010

Вот вырезка и вставка (и переименование, чтобы защитить невинных) того, что я написал довольно давно (иначе он работает):

CREATE TRIGGER dbo.TR_iu_MyTable__LastUpdated
 on dbo.MyTable
 after insert, update

AS

    SET NOCOUNT on

    UPDATE dbo.MyTable
     set LastUpdated = getdate()
     where MyTableId in (select MyTableId from inserted)
1 голос
/ 13 мая 2010
UPDATE {tablename}
SET ModifyDate = GETDATE()
FROM inserted
WHERE {tablename}.{primarykey} = inserted.{primarykey}

Помещенный в триггер, помеченный для действий INSERT и UPDATE, решит вашу проблему.

Вы также можете сделать нечто подобное для CreateDate

UPDATE {tablename}
SET CreateDate = GETDATE()
FROM inserted
WHERE {tablename}.{primarykey} = inserted.{primarykey}

помещен в триггер, помеченный только для действия INSERT.

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