Следующий

SQL запросы. Важные особенности использования триггеров в базах данных SQLite

9 Просмотры· 06/18/20
Кирилл Антонов
Кирилл Антонов
Подписчики
0

Рубрика SQLite на сайте: http://zametkinapolyah.ru/zametki-o-mysql/sqlite/
Текстовая версия: http://zametkinapolyah.ru/zame....tki-o-mysql/tema-13-
Паблик блога в ВК: https://vk.com/zametkinapolyah
Тематическая группа в ВК: https://vk.com/zametki_bd

Помощь проекту:
WMR: R288272666982
WMZ: Z293550531456
Яндекс.Деньги: 410011531129223

-- Некоторые особенности триггеров в базах данных SQLite

/*
Ранее мы говорили, что в теле триггера можно использовать любую команду манипуляции данных с довольно полным синтаксисом. Но ключевая часть выражения здесь: довольно полный синтаксис. Всё дело в том, что синтаксис команд манипуляции данными в теле триггера SQLite поддерживается не полностью. Итак, ваш триггер не будет создан/не будет работать если:

В теле триггера вы не можете использовать квалификаторы для обращения к таблицам базы данных. Можно использовать только имена таблиц.
Когда в деле триггера вы выполняете операцию INSERT, то вы не можете добавлять значения DEFAULT. Добавляемые значения должны быть явно указаны.
Нельзя использовать ключевые слова INDEX BY и NOT INDEXED в командах UPDATE и DELETE.
Клаузулы LIMIT и ORDER BY нельзя использовать с командами UPDATE и DELETE в теле триггера.

Вот такие ограничения накладывает SQLite на команды SQL, которые мы можем использовать в теле триггера.

*/

-- Посмотреть триггеры в БД SQLite
SELECT name FROM sqlite_master
WHERE type = 'trigger';

-- Триггеры для какой-то опредленной таблицы
SELECT name FROM sqlite_master
WHERE type = 'trigger' AND tbl_name = 'users';

Показать больше

 0 Комментарии sort   Сортировать


Следующий