<MyRusakov.ru />

Финансовая грамотность от А до Я

Финансовая грамотность от А до Я

Данный курс в кратчайшие сроки обучит Вас финансовой грамотности. Эти знания позволят Вам получить, как минимум, серьёзную финансовую стабильность, а, как максимум, финансовую независимость.

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

Помимо самого курса Вас ждёт ещё бесплатный ценный Бонус: «Ранний выход на пенсию». В рамках этого Бонуса Вы узнаете, какой должен быть капитал конкретно в Вашем случае, варианты его получения, а также какие есть стратегии вывода капитала на пенсии и где их можно протестировать.

Подробнее
Подписка

Подпишитесь на мой канал на YouTube, где я регулярно публикую новые видео.

YouTube Подписаться

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Какая тема Вас интересует больше?

Создание триггеров в MySQL

Создание триггеров в MySQL

Триггеры - это хранимые процедуры, которые выполняются при наступлении определённого события. Под событием подразумевается отправка определённого запроса. Например, при добавлении записи в таблицу триггер может быть вызван и будет выполнен определённый код.

Чтобы проверить, как работают триггеры, давайте создадим с Вами 2 таблицы. Первая таблица - это страны (countries):

  • id - уникальный идентификатор.
  • title - название страны.

Таблица с городами (cities):

  • id - уникальный идентификатор.
  • title - название города.
  • country_id - id той страны, которой принадлежит данный город.

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

Такой триггер создаётся в MySQL следующим образом:

DELIMITER //
CREATE TRIGGER `delete_cities` BEFORE DELETE ON `countries`
FOR EACH ROW BEGIN
  DELETE FROM `cities` WHERE `country_id`=OLD.`id`;
END

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

  • DELIMITER - разделитель, который необходимо указать, иначе на ";" будет выдаваться ошибка.
  • `delete_cities` - это просто имя триггера.
  • BEFORE DELETE - данная команда означает, что триггер будет срабатывать непосредственно перед удалением записи. Вместо BEFORE может быть AFTER, а вместо DELETE другое событие, например, INSERT или UPDATE.
  • `countries` - название таблицы, на которую устанавливается триггер.
  • FOR EACH ROW - начало команды, выполняемой при срабатывании триггера.
  • BEGIN и END - отдельный блок выполняемой команды.
  • OLD.`id` - обращение к полю `id` удаляемой записи из таблицы `countries`.

Сразу скажу, что здесь я показал простой пример. В реальности, код после FOR EACH ROW может быть не 2 строчки, а очень и очень большим. Там так же можно писать циклы, условия, различные сравнения и многое-многое другое.

Вот таким образом создаются триггеры в MySQL.

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (2):

sync.o sync.o 22.06.2013 12:47:18

Спасибо, Михаил, всегда приятно узнавать что-нибудь новое.

Ответить

bear1962 bear1962 24.10.2018 15:44:49

Здравствуйте Михаил Юрьевич! извините, может я невнимателен но есть ли статья про хранимые процедуры и функции вообще… и зачем они нужны? ЗЫ я вот разобрался в конечном счете - но попотеть пришлось :) зато могу сам такую статью написать ;)

Ответить

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.