Триггер выполняет при вставке в таблицу Журнал следующие функции:
- В таблице рабочих, соответствующему сотруднику добавляет +1 к опыту.
- Копирует поля ИД, Измерение, Результат и Номер станции из Журнала и вставляет в таблицу Результатов (авто-заполнение результатов)
CREATE TRIGGER journaling
ON dbo.journal
FOR INSERT
AS
BEGIN
DECLARE @c INT
SELECT @c=i.worker
FROM inserted AS i
UPDATE workers
SET workers.Expo = workers.Expo +1
FROM workers WHERE workers.ID=@c
DECLARE @a INT
DECLARE @id INT
DECLARE @b INT
DECLARE @e DECIMAL (8,2)
SELECT @id=i.ID, @b=i.measure, @e=i.resultat FROM inserted AS i
SELECT @a= (SELECT workers.IDStation FROM workers WHERE workers.ID=@c)
INSERT INTO resultat VALUES (@id,@a,@b,@e)
END