Это видео недоступно.
Сожалеем об этом.
Язык SQL. Условие срабатывания SQL триггера: уточняющее выражение WHEN в базах данных SQLite
HTML-код
- Опубликовано: 16 дек 2016
- Рубрика SQLite на сайте: zametkinapolyah...
Текстовая версия: zametkinapolyah...
Паблик блога в ВК: zametki...
Тематическая группа в ВК: 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. В теле триггера выполняется две операции: первая удаляет лишнюю строку из лог-таблицы, вторая добавляет новую строку в таблицу лога.