Sobes.tech
Junior

Какво е тригер?

sobes.tech AI

Отговор от AI

Тригърът е специална съхранена процедура в базата данни, която се изпълнява автоматично при настъпване на определено събитие.

Събитията, които обикновено активират тригърите, включват:

  • INSERT: добавяне на нови редове към таблицата.
  • UPDATE: промяна на съществуващи редове в таблицата.
  • DELETE: изтриване на редове от таблицата.

Тригърите могат да се активират в различни моменти спрямо събитието:

  • BEFORE: преди изпълнението на събитието.
  • AFTER: след изпълнението на събитието.
  • INSTEAD OF: вместо изпълнение на събитието (често се използва с изгледи).

Примери за използване на тригъри:

  1. Поддържане на цялостта на данните: автоматична проверка или модификация на данните при вмъкване/актуализиране.
  2. Аудит: записване на информация за промените в данните в отделна таблица логове.
  3. Синхронизиране на данните: автоматично обновяване на свързаните таблици.
  4. Изпълнение на сложни бизнес правила: иницииране на допълнителни действия при определени условия.

Тригърите се дефинират на ниво таблица и могат да се позовават на стари и нови стойности на променената редица.

-- Пример за синтаксис (SQL)
CREATE TRIGGER audit_log
AFTER INSERT ON users
FOR EACH ROW
BEGIN
    INSERT INTO audit (user_id, action, timestamp)
    VALUES (NEW.id, 'insert', NOW());
END;

Важно е да се използват тригърите с повишено внимание, тъй като те могат да усложнят отстраняването на грешки и да повлияят на производителността на базата данни.