Помогите создать триггер (MS SQL2008)
От: gmvr  
Дата: 10.07.15 18:49
Оценка:
Есть две таблицы A и B.
A: id — идентификатор записи (вместе с grpid), grpid — идентификатор группы (ссылается на таблицу B), status — состояние
B: grpid — идентификатор группы (ключ), cnt — кол-во модификаций группы

Нужен триггер на изменение поля status записей в таблице A так, чтобы в таблице B подсчитывалось кол-во изменений по группам.
В одном запросе к таблице A может быть изменено несколько элементов с разными/одинаковыми grpid.

Подсчет изменений несложен

CREATE TRIGGER [dbo].[CountUsed] 
   ON  [dbo].[A]
   AFTER UPDATE
AS 
BEGIN
    SELECT I.grpid, COUNT(*) FROM inserted AS I
     JOIN deleted AS D ON I.grpid=D.grpid AND I.id=D.id
     WHERE D.status<>I.status GROUP BY I.grpid
END


Вопрос, как сложить результаты подсчета со значениями соответствующих счетчиков в таблице B?
Отредактировано 11.07.2015 13:23 gmvr . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.