Есть две таблицы 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?