Что такое триггер (database trigger)?

max аватар
129
Находится в разделах:

Триггер - это фрагмент кода, который запускается до или после того, как таблица будет модифицирована. Существует три события, которые могут инициировать запуск триггера:

  • INSERT event (новая запись была вставлена в базу данных)
  • UPDATE event (запись была изменена)
  • DELETE event (запись была удалена)
Триггеры могут урезать доступ к определенным данным, выполнять операции логирования и т.д.
info picture Как можно отслеживать все изменения в базе данных?
Если вы хотите отслеживать все данные определенной записи, например кто модифицировал запись, какой тип модификации был произведен, и когда модификация записи случилась, тогда вы можете использовать триггеры, поскольку можно отслеживать любое событие, которое случилось в определенной таблице. Например, INSERT триггер будет инициирован, когда определенная таблица базы данных была вставлена.
info picture Как можно взаимодействовать между двумя приложениями, которые используют одну и ту же базу данных для обновления кеша приложения?
Алгоритм следующий. 
  1. Когда приложение 1 обновляет/вставляет продукт в таблицу "product"
  2. Триггер инициируется для модификации статуса таблицы "product_pooling" в состояние "Занято" из состояния "Готово" для обновлений и созданий новых записей.
  3. Приложение 2 опрашивает таблицу "product_pooling", скажем каждые 5 минут. Если статус "Занято", тогда приложение 2 читает обновленные данные из таблицы продуктов и обновляет кеш.
  4. Если статус "Готово", тогда приложение 2 повторит попытку через 5 минут.

Конец
Джордж Бернард Шоу более, чем уверен в том, что единственный способ что-то узнать — это что-то делать.

Отправить комментарий

CAPTCHA
Чтобы оставить комментарий, введите пожалуйста код, изображенный на картинке
Image CAPTCHA
Введите символы, изображенные на картинке