Язык SQL. Условие срабатывания SQL триггера: уточняющее выражение WHEN в базах данных SQLite
Рубрика SQLite на сайте: http://zametkinapolyah.ru/zametki-o-mysql/sqlite/
Текстовая версия: http://zametkinapolyah.ru/zametki-o-mysql/tema-13-triggery-v-sql-na-primere-bazy-dannyx-sqlite.html
Паблик блога в ВК: https://vk.com/zametkinapolyah
Тематическая группа в ВК: https://vk.com/zametki_bd
Помощь проекту:
WMR: R288272666982
WMZ: Z293550531456
Яндекс.Деньги: 410011531129223
— Условия срабатывания триггера WHEN
CREATE TRIGGER when_insert AFTER INSERT
ON users WHEN (SELECT count(*) FROM user_log) (знак больше) 21
BEGIN
DELETE FROM user_log WHERE u_date = (SELECT min(u_date) FROM user_log);
INSERT INTO user_log(id_u, u_date, operation) VALUES (NEW.id, datetime(‘now’), ‘ins’);
END;
— Этот триггер делает очень простую вещь: он ограничивает количество записей в логе до двадцати одной. То есть в таблице user_log будет храниться информация не обо всех модификациях, а только о последних, понятно, что количество записей в таблице можно регулировать.
— Попробуйте реализовать данный триггер, чтобы посмотреть, как работает условие WHEN. В теле триггера выполняется две операции: первая удаляет лишнюю строку из лог-таблицы, вторая добавляет новую строку в таблицу лога.
Последние сообщения
127 полезных и бесплатных онлайн академий
23.04.2019
Ресурсы для objective-C программистов
21.03.2018