Головне призначення тригера - збереження посилальної цілісності даних. Це означає, що навіть при зміні бази даних завжди є можливість повернути все назад. Також з їх допомогою можна проводити каскадні зміни в зв`язаних таблицях, при якому посилання змінюються одночасно і не порушують зв`язків.

Сам тригер являє собою зберігається процедуру, яка запускається автоматично при зміні даних людиною або прикладною програмою. Він «включається», як тільки зміна даних завершено. Зміна даних і запущений тригер розглядаються як одна транзакція (дія), тому при появі або виявленні помилки все можна повернути назад, це називається rolled back.

Робота тригера

  • Каскадні зміни у взаємозалежних таблицях даних. Наприклад, якщо потрібно видалити певний стовпець або рядок відразу у всіх таблицях, використовується тригер.
  • Повернення до вихідних даних таблиць
  • Відстеження різних відповідностей. Наприклад, схема тригера може передбачати заборону на зменшення ціни товару нижче за закупівельну ціну.
  • Аналіз різних варіантів змін. Робота тригера дуже зручна для прорахунку варіантів до і після модифікації. Наприклад, можна порахувати, що буде, якщо знизити ціни на 5% або на скільки збільшиться собівартість всіх товарів при збільшенні транспортних витрат. Після аналізу всі дані можна повернути в первинний вигляд.

створення тригера

Тригери створюються в поточній базі даних, проте в них можна також вибрати об`єкти розташовані в інших базах. Ім`я власника тригера має збігатися з ім`ям власника таблиці. Створюють тригер в реченні Creat. В поле For вказуються оператори зміни даних, після активації яких повинен включатися тригер. Наприклад, це можуть бути insert, update або delete по відношенню до таблиці.

Далі слід вказати тригерні дії або тригерні умови. Це ті дії, які повинні піти в якості реакції на вставку, видалення або оновлення даних.