SQL-триггеры

— это специальные объекты базы данных, которые автоматически срабатывают при определённом событии (например, INSERT, UPDATE или DELETE). Создание SQL-триггеров помогает автоматизировать процессы, обеспечивать целостность данных и реализовывать бизнес-логику прямо в базе данных.

SQL Server

Создание базы данных и двух таблиц:

Триггер для отслеживания добавленных записей в таблицу «linnad» – INSERT

Проверка работы триггера

  • Обновление (изменение) SQL-триггера
    • Находим нужную таблицу в базе данных
    • Открываем папку Triggers
    • Кликаем правой кнопкой мыши на нужном триггере
    • Выбираем пункт Modify (Изменить)

Откроется диалоговое окно, в котором мы можем внести необходимые изменения и сохранить их.

Выдели ALTER TRIGGER –> Выполнить (Execute) –> Команда выполнена

Вставка данных в таблицу “logi” была изменена.

Инструменты (Tools) → Параметры (Options) → Конструкторы (Designers) → Конструктор таблиц и баз данных (Table and Database Designers) → Снять галочку с опции “Предотвращать сохранение изменений, требующих пересоздания таблицы”

Добавим поле “kasutaja” (пользователь) в таблицу и сохраним.

Изменим триггер.
SUSER_NAME — это SQL-функция, которая возвращает имя текущего вошедшего пользователя.

Проверка: добавляется пользователь, который внёс данные в таблицу.

Триггер для отслеживания удалённых записей в таблице “linnad” – DELETE

Проверка

Триггер для отслеживания изменённых записей в таблице “linnad” – UPDATE

XAMPP

Создаём триггеры в XAMPP (использующем базу данных MySQL или MariaDB), следуя следующим шагам.

Триггер для отслеживания добавленных записей в таблицу “linnad” – INSERT

Заполнить таблицу Linnad и проверяем таблицу Logi

Триггер для отслеживания изменённых записей в таблице “linnad” – UPDATE

Проверка:

Триггер для отслеживания удалённых записей в таблице “linnad” – DELETE

Проверка:

Объединение триггеров INSERT и DELETE

Этот SQL-триггер linnaLisamineJaKustutamine записывает лог каждый раз, когда в таблицу городов добавляется новый город или удаляется существующий.

Самостоятельная работа — задание по триггерам

Задание с триггерами, которое находится на последнем слайде презентации “trigerid_localhost.pptx”

SQL Server

Создание базы данных и таблиц

Добавление автомобиля

Проверка:

Удаление автомобиля

Проверка:

Обновление автомобиля

Проверка:

XAMPP

Создание базы данных и таблиц

Добавление автомобиля

Проверка:

Удаление автомобиля

Проверка

Обновление автомобиля

Проверка: