Лучшее руководство по SQLite Trigger в 2024 году. В этом руководстве вы можете изучить грамматика,примеров,Списки запуска (TRIGGERS),Удалить триггер (TRIGGERS),
SQLite триггер базы данных является функцией обратного вызова, она будет выполняться автоматически, когда происходит вызов / заданного события базы данных. Ниже приведены основные моменты на курке: SQLite SQLiteтриггера (триггера) функция обратного вызова из базы данных, он будет автоматически выполнять вызов / при возникновении определенных событий базы данных.Ниже приведены основные моменты о SQLite триггеров (триггер) из:
SQLite триггеров (триггер) триггеры могут быть определены в момент возникновения конкретной таблицы базы данных DELETE, INSERT или UPDATE, или срабатывает, когда один или более конкретных столбцах обновление таблицы происходит.
SQLite поддерживает только для каждого ряда триггеров (триггер), а не для каждого оператора триггеров (триггер). Таким образом, в явном виде указать для каждой строки не является обязательным.
Когда пункт и триггер (триггер) действие может получить с помощьюNEW.column имя-форма и OLD.column имя-ссылки, вставленные, удаленные или обновленные элементы строки, имя столбца связано с курком из столбцов таблицы имя.
Когда пункт, если это предусмотрено, верно только для Когда пункт определяет строки для выполнения операторов SQL. Если нет если положение не выполняется операторы SQL для всех строк.
После выполнения действий триггера до или после ключевого слова определяет, когда действие триггера, решение вставляется в связанных линий, или перед тем, как удалить или изменить.
Когда таблица, связанная с триггером удаляются автоматически удалить триггер (триггер).
Для редактирования таблицы должны существовать в той же базе данных , как спусковой крючок прилагается таблицы или представления, и должны использовать толькоимя_таблицы, вместо database.tablename.
Функция ПОДЪЕМ специальный SQL () может использоваться для запуска исключение в рамках программы.
Создатьтриггер (триггер) Основной синтаксис выглядит следующим образом :
CREATE TRIGGER имя_триггера [ДО | ПОСЛЕ] event_name ON table_name НАЧАТЬ - Trigger логика здесь идет ruru END;
Здесь event_name можно упомянуть в таблице table_nameизINSERT, DELETE и UPDATEоперации с базами данных. При желании можно указать FOR EACH ROW после имени таблицы.
Указаны в операции UPDATE в одной или нескольких таблиц на столбцы создать триггер (триггер) Синтаксис следующее:
CREATE TRIGGER имя_триггера [перед | ПОСЛЕ] ОБНОВЛЕНИЕ column_name ON table_name НАЧАТЬ - Trigger логика здесь идет ruru END;
Предположим ситуацию, когда мы хотим быть вставлены во вновь созданную таблицу компании (если он уже существует, удалите воссозданной) в каждом из теста аудита ведения записей:
SQLite> CREATE TABLE COMPANY ( ID INT PRIMARY KEY NOT NULL, NAME TEXT NOT NULL, AGE INT NOT NULL, АДРЕС CHAR (50), ЗАРПЛАТА РЕАЛ );
Для поддержания аудита испытаний, мы создадим новую таблицу под названием АУДИТ. Всякий раз, когда таблица КОМПАНИЯ имеет новый вход записи, сообщение журнала будет вставлен:
SQLite> CREATE TABLE AUDIT ( EMP_ID INT NOT NULL, ENTRY_DATE TEXT NOT NULL );
Здесь идентификатор AUDIT идентификатор записи, EMP_ID идентификатор из таблицы КОМПАНИ, ДАТА будет держать метку времени создается, когда КОМПАНИЯ записывается. Итак, теперь давайте создадим триггер на таблице компании следующим образом:
SQLite> CREATE TRIGGER audit_log ПОСЛЕ ВСТАВКА О КОМПАНИИ НАЧАТЬ INSERT INTO AUDIT (EMP_ID, ENTRY_DATE) ЗНАЧЕНИЯ (new.ID, даты и времени ( "сейчас")); END;
Теперь мы начнем вставить запись в таблице компании, это приведет к созданию аудита таблицы журнала аудита. Итак, давайте создадим запись в таблице компании, следующим образом:
SQLite> INSERT INTO COMPANY (ID, имя, отчество, возраст, адрес, ЗАРПЛАТА) VALUES (1, 'Paul', 32, 'Калифорния', 20000.00);
Это позволит создать запись в следующей таблице компании:
ID ИМЯ ВОЗРАСТ АДРЕС ЗАРПЛАТА ---------- ---------- ---------- ---------- ---------- 1 Paul 32 California 20000.0
В то же время, мы будем создавать запись в таблице аудита. Эта запись является результатом триггера, который является триггером мы вставляем операции над таблицами созданной компании (триггер). Кроме того, можно создавать триггеры операций обновления и удаления (триггер).
EMP_ID ENTRY_DATE ---------- ------------------- 12013-04-05 6:26:00
Вы можете перечислить все триггеры из таблицыsqlite_master, следующим образом :
SQLite> SELECT имя FROM sqlite_master Где тип = 'триггер';
Данное заявление SQLite перечисляет только одну запись, следующим образом:
имя ---------- audit_log
Если вы хотите перечислить на спусковой крючок на конкретной таблице, используйте и пункт для объединения таблиц распределились следующим образом:
SQLite> SELECT имя FROM sqlite_master Где тип = 'триггер' AND tbl_name = 'КОМПАНИЯ';
Данное заявление SQLite перечисляет только одну запись, следующим образом:
имя ---------- audit_log
Ниже приводится команда DROP может быть использован для удаления существующего триггера:
SQLite> DROP TRIGGER имя_триггера;