Глосарій

Тригер (Trigger)

Тригер — процедура БД, що автоматично виконується у відповідь на INSERT, UPDATE або DELETE. Не потрібно викликати вручну — СУБД запускає його сама при певній події.

Приклад (MySQL)

CREATE TRIGGER after_order_insert
AFTER INSERT ON orders
FOR EACH ROW
BEGIN
  UPDATE users
  SET orders_count = orders_count + 1
  WHERE id = NEW.user_id;
END;

BEFORE vs AFTER

Коли використовувати обережно

Тригери приховують логіку: INSERT у таблицю непомітно запускає ланцюг змін в інших таблицях. Складно відлагодити і важко побачити в коді. Для більшості задач краще обробники подій у коді застосунку.