|
||||
|
6.4. MySQL 5 FAQ по триггерам 6.4.1: Имеется ли форум для обсуждения триггеров в MySQL? Да. http://forums.mysql.com/list.php?99. 6.4.2: MySQL 5.1 имеет триггеры операторного уровня или уровня строки? В MySQL 5.1 все триггеры FOR EACH ROW, то есть триггер активизирован для каждой строки, которая вставлена, модифицируется или удалена. MySQL 5.1 не поддерживает использование триггеров FOR EACH STATEMENT. 6.4.3: Имеется ли любое значение по умолчанию для триггеров? Неявно. MySQL имеет специфическое специальное поведение для некоторых столбцов TIMESTAMP, а также для столбцов, которые определены, используя AUTO_INCREMENT. 6.4.4: Как управлять триггерами в MySQL? В MySQL 5.1 триггер может быть создан, используя инструкцию CREATE TRIGGER, а удален инструкцией DROP TRIGGER. Информация относительно триггеров может быть получена, запрашивая таблицу INFORMATION_SCHEMA.TRIGGERS. 6.4.5: Имеется ли способ просмотреть все триггеры в конкретной базе данных? Да. Вы можете получать распечатку всех триггеров, определенных в базе данных dbname, запросом к таблице INFORMATION_SCHEMA.TRIGGERS примерно так: SELECT TRIGGER_NAME, EVENT_MANIPULATION, EVENT_OBJECT_TABLE, ACTION_STATEMENT FROM INFORMATION_SCHEMA.TRIGGERS WHERE TRIGGER_SCHEMA='dbname'; Вы можете также использовать инструкцию SHOW TRIGGERS, которая является специфической для MySQL. 6.4.6: Где хранятся триггеры? Триггеры в настоящее время сохранены в .TRG-файлах, один такой файл на таблицу. Другими словами, триггер принадлежит таблице. В будущем, мы планируем изменять это так, чтобы информация триггера включалась в .FRM-файл, который определяет структуру таблицы. Также планируется сделать триггеры уровня базы данных, чтобы привести их в согласие с SQL-стандартом. 6.4.7: Может триггер вызывать сохраненную процедуру? Да. 6.4.8: Может триггер обращаться к таблицам? Триггер может обращаться к старым и новым данным в собственной таблице. Через сохраненную процедуру, многотабличную модификацию или инструкцию удаления триггер может также воздействовать и на другие таблицы. 6.4.9: Может триггер вызывать внешнюю прикладную программу через UDF? Нет, не в настоящее время. 6.4.10: Может триггер модифицировать таблицы на удаленном сервере? Да. Таблица на удаленном сервере могла бы модифицироваться, используя тип памяти FEDERATED. |
|
||
Главная | Контакты | Нашёл ошибку | Прислать материал | Добавить в избранное |
||||
|