Окей... Допустим у нас выполняется запрос UPDATE users SET n = n + 123123 WHERE id = 581;
Как мне получить из этого запроса 123123 и 581 и использовать в триггере?
Можно пример, собсна?
Или просто объясните мне этот код построчно, пожалуйста, думаю, здесь есть решение моего вопроса:
USE SampleDb;
/* Таблица AuditBudget используется в качестве
журнала логов действий в таблице Project */
GO
CREATE TABLE AuditBudget (
ProjectNumber CHAR(4) NULL,
UserName CHAR(16) NULL,
Date DATETIME NULL,
BudgetOld FLOAT NULL,
BudgetNew FLOAT NULL
);
GO
CREATE TRIGGER trigger_ModifyBudget
ON Project AFTER UPDATE
AS IF UPDATE(budget)
BEGIN
DECLARE @budgetOld FLOAT
DECLARE @budgetNew FLOAT
DECLARE @projectNumber CHAR(4)
SELECT @budgetOld = (SELECT Budget FROM deleted)
SELECT @budgetNew = (SELECT Budget FROM inserted)
SELECT @projectNumber = (SELECT Number FROM deleted)
INSERT INTO AuditBudget VALUES
(@projectNumber, USER_NAME(), GETDATE(), @budgetOld, @budgetNew)
END