MySQL: руководство профессионала
Шрифт:
9.15. Таблица INFORMATION_SCHEMA VIEWS
Таблица VIEWS обеспечивает информацию относительно view в базах данных. Вы должны иметь привилегию SHOW VIEW, чтобы обратиться к этой таблице.
INFORMATION_SCHEMA
Name
SHOW
Name
Remarks
TABLE_CATALOG
NULL
TABLE_SCHEMA
TABLE_NAME
VIEW_DEFINITION
CHECK_OPTION
IS_UPDATABLE
DEFINER
SECURITY_TYPE
Примечания:
Столбец VIEW_DEFINITION
CREATE VIEW v AS SELECT s2,s1 FROM t WHERE s1 > 5 ORDER BY s1 WITH CHECK OPTION;
Затем определение этого view выглядит следующим образом:
SELECT s2,s1 FROM t WHERE s1 > 5 ORDER BY s1
Столбец CHECK_OPTION всегда имеет значение NONE.
Столбец IS_UPDATABLE равен YES, если view обновляемый, в противном случае NO.
Столбец DEFINER указывает, кто определил view. SECURITY_TYPE имеет значение DEFINER или INVOKER.
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 содержит порядковую позицию действия
Столбец 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
9.17. Таблица INFORMATION_SCHEMA PLUGINS
Таблица PLUGINS обеспечивает информацию относительно расширений сервера.
INFORMATION_SCHEMA
Name
SHOW
Name
Remarks
PLUGIN_NAME
Name
MySQL extension
PLUGIN_VERSION
MySQL extension
PLUGIN_STATUS
Status