Онлайн библиотека PLAM.RU


9.16. Таблица INFORMATION_SCHEMA TRIGGERS

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


INFORMATION_SCHEMA

Name

SHOW

Name

Remarks

TRIGGER_CATALOG

NULL

TRIGGER_SCHEMA

TRIGGER_NAME

Trigger

EVENT_MANIPULATION

Event

EVENT_OBJECT_CATALOG

NULL

EVENT_OBJECT_SCHEMA

EVENT_OBJECT_TABLE

Table

ACTION_ORDER

0

ACTION_CONDITION

NULL

ACTION_STATEMENT

Statement

ACTION_ORIENTATION

ROW

ACTION_TIMING

Timing

ACTION_REFERENCE_OLD_TABLE

NULL

ACTION_REFERENCE_NEW_TABLE

NULL

ACTION_REFERENCE_OLD_ROW

OLD

ACTION_REFERENCE_NEW_ROW

NEW

CREATED

NULL

(

0

)

SQL_MODE

MySQL extension

DEFINER

MySQL extension


Примечания:

Столбцы TRIGGER_SCHEMA и TRIGGER_NAME содержат имя базы данных, в которой находится триггер и его имя, соответственно.


Столбец EVENT_MANIPULATION содержит одно из значений 'INSERT', 'DELETE' или 'UPDATE'.


Каждый триггер связан точно с одной таблицей. Столбцы EVENT_OBJECT_SCHEMA и EVENT_OBJECT_TABLE содержат базу данных, в которой эта таблица расположена, и имя таблицы.


Инструкция ACTION_ORDER содержит порядковую позицию действия триггера внутри списка подобных в той же самой таблице. В настоящее время это значение всегда 0, потому что невозможно иметь больше, чем один триггер с теми же самыми EVENT_MANIPULATION и ACTION_TIMING на той же самой таблице.


Столбец ACTION_STATEMENT содержит инструкцию, которая будет выполнена, когда вызывается триггер. Это текст, отображаемый в столбце Statement вывода SHOW TRIGGERS. Обратите внимание, что на эти тексты распространяется кодирование в UTF-8.


Столбец ACTION_ORIENTATION всегда содержит значения 'ROW'.


Столбец ACTION_TIMING содержит одно из двух значений: 'BEFORE' или 'AFTER'.


Столбцы ACTION_REFERENCE_OLD_ROW и ACTION_REFERENCE_NEW_ROW содержат старые и новые идентификаторы столбцов, соответственно. Это означает, что ACTION_REFERENCE_OLD_ROW всегда содержит значение 'OLD' и ACTION_REFERENCE_NEW_ROW 'NEW'.


Столбец SQL_MODE показывает режим сервера SQL, который был установлен, когда триггер был создан (и таким образом, который остается в силе для триггера, когда это вызывается, независимо от текущей ситуации). Возможный диапазон значений для этого столбца такой же, как для переменной системы sql_mode.


Столбец DEFINER был добавлен в MySQL 5.1.2. DEFINER указывает, кто определил триггер.


Следующие столбцы в настоящее время всегда содержат NULL:

TRIGGER_CATALOG,

EVENT_OBJECT_CATALOG,

ACTION_CONDITION,

ACTION_REFERENCE_OLD_TABLE,

ACTION_REFERENCE_NEW_TABLE,

CREATED.


Пример, используем ins_sum:

mysql> SELECT * FROM INFORMATION_SCHEMA.TRIGGERS\G

*************************** 1. row ***************************

TRIGGER_CATALOG: NULL

TRIGGER_SCHEMA: test

TRIGGER_NAME: ins_sum

EVENT_MANIPULATION: INSERT

EVENT_OBJECT_CATALOG: NULL

EVENT_OBJECT_SCHEMA: test

EVENT_OBJECT_TABLE: account

ACTION_ORDER: 0

ACTION_CONDITION: NULL

ACTION_STATEMENT: SET @sum = @sum + NEW.amount

ACTION_ORIENTATION: ROW

ACTION_TIMING: BEFORE

ACTION_REFERENCE_OLD_TABLE: NULL

ACTION_REFERENCE_NEW_TABLE: NULL

ACTION_REFERENCE_OLD_ROW: OLD

ACTION_REFERENCE_NEW_ROW: NEW

CREATED: NULL

SQL_MODE:

DEFINER: me@localhost









Главная | Контакты | Нашёл ошибку | Прислать материал | Добавить в избранное

Все материалы представлены для ознакомления и принадлежат их авторам.