Представление triggers содержит сведения обо всех триггерах, определенных
в текущей базе данных для таблиц и представлений, владельцем которых является текущий пользователь
или на которые он имеет привилегии, отличные от SELECT на.
Таблица 4.4.55. triggers Столбцы
Тип столбца Описание |
|---|
Имя базы данных, содержащей триггер (всегда текущая база данных) |
Имя схемы, в которой содержится данный триггер |
Имя триггера |
Событие, инициирующее срабатывание триггера ( |
Имя базы данных, в которой находится таблица, для которой определен триггер определен (всегда текущая база данных) |
Имя схемы, в которой находится таблица, для которой определен триггер |
Имя таблицы, для которой определен данный триггер |
Порядок срабатывания триггеров, определенных для одной таблицы и имеющих одинаковые параметры
|
|
Оператор, выполняемый триггером (в настоящее время всегда
|
Параметр, определяющий, срабатывает ли триггер один раз для каждой обрабатываемой
строки или один раз для каждого оператора ( |
Время срабатывания триггера ( |
Наименование «старой» переходной таблицы или значение NULL при её отсутствии |
Наименование «новой» переходной таблицы или значение NULL при её отсутствии |
Применяется к функциональности, недоступной в Digital Q.DataBase |
Применяется к функциональности, недоступной в Digital Q.DataBase |
Применяется к функциональности, недоступной в Digital Q.DataBase |
Триггеры в Digital Q.DataBase имеют два несоответствия стандарту SQL, влияющих на формат представления данных в информационной схеме. Во-первых, имена триггеров являются локальными для каждой таблицы в Digital Q.DataBase, а не независимыми объектами схемы. Следовательно, в рамках одной схемы допускается определение дублирующихся имен триггеров при условии их принадлежности к разным таблицам. (trigger_catalog и
trigger_schema фактически являются значениями, относящимися к таблице, для которой определен данный триггер.) Во-вторых, триггеры могут быть определены для срабатывания при нескольких событиях в
Digital Q.DataBase (например, ON INSERT OR UPDATE), в то время как Стандарт SQL допускает наличие только одного подобного элемента. Если триггер определен для срабатывания при нескольких событиях, он представляется в виде нескольких строк в информационной схеме, по одной для каждого типа события. Вследствие данных двух факторов первичный ключ представления triggers фактически включает в себя параметры
(trigger_catalog, trigger_schema, event_object_table, trigger_name, event_manipulation) вместо
(trigger_catalog, trigger_schema, trigger_name),
как это регламентирует Стандарт SQL. Тем не менее, если триггеры определяются способом, соответствующим Стандарту SQL (имена триггеров уникальны в Схеме и для каждого триггера указан только один тип события), данные изменения не затронут работу пользователя.
До версии Digital Q.DataBase 9.1 столбцы данного Представления
action_timing,
action_reference_old_table,
action_reference_new_table,
action_reference_old_row, и
action_reference_new_row
именовались
condition_timing,
condition_reference_old_table,
condition_reference_new_table,
condition_reference_old_row, и
condition_reference_new_row
соответственно.
Такие наименования использовались в стандарте SQL:1999.
Новая схема именования соответствует стандарту SQL:2003 и более поздним версиям.