Запропонувати правкуПокращити цю статтюДопрацюйте відповідь до «Що робить тригер рівня рядка?». Ваші зміни проходять модерацію перед публікацією.Потрібне підтвердженняКонтентЩо ви змінюєте🇺🇸EN🇺🇦UAПереглядЗаголовок (UA)Коротка відповідь (UA)**Тригер рівня рядка (ROW-level trigger)** - це тригер, що **спрацьовує для кожного рядка**, зачепленого операцією `INSERT`, `UPDATE` чи `DELETE`: якщо запит змінив 5 рядків, тригер виконається **5 разів**, по одному на кожен. **Ключове:** усередині такого тригера доступні псевдозаписи `NEW` (нові дані) і `OLD` (старі дані); приклад - тригер `BEFORE INSERT` перевіряє кожен рядок, що вставляється, і не дає додати користувача молодшого 18 років.Показується над повною відповіддю для швидкого нагадування.Відповідь (UA)Зображення**Тригер рівня рядка (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 років.Для рев’юераПримітка для модератора (необов’язково)Бачить лише модератор. Прискорює рев’ю.