Що робить тригер рівня рядка?
Тригер рівня рядка (ROW-level trigger) - це тригер, який спрацьовує для кожного рядка, зачепленого операцією INSERT, UPDATE чи DELETE.
Тобто якщо запит змінив 5 рядків - тригер виконається 5 разів, по одному на кожен.
Усередині такого тригера доступні спеціальні псевдозаписи:
NEW- нові дані (після зміни чи вставки),OLD- старі дані (до зміни чи видалення).
Приклад
sql
CREATE TRIGGER check_age
BEFORE INSERT ON users
FOR EACH ROW
BEGIN
IF NEW.age < 18 THEN
SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'Age must be 18+';
END IF;
END;Тут тригер перевіряє кожен рядок, що вставляється, і не дає додати користувача молодшого 18 років.
Коротка відповідь
Для співбесідиPremium
Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.