Первый и последний триггеры

Оценить
(0 голоса)

Database Engine дает возможность создавать множество триггеров для каждой таблицы или представления и для каждого действия с ними (insert, update и delete). Дополнительно к этому вы можете задавать порядок для нескольких триггеров, определенных для конкретного действия. Используя системную хранимую процедуру sp_settriggerorder, вы можете указать, что один из триггеров after, связанных с таблицей, будет либо первым триггером after, либо последним выполняемым триггером after для каждого обрабатываемого триггерами действия. Эта системная процедура имеет параметр dorder, который принимает три значения:

♦ first указывает, что данный триггер является первым триггером after, который будет выполняться для модифицирующего действия;

♦ last указывает, что данный триггер является последним триггером after, вызываемым для соответствующего действия;

♦ попе указывает, что для триггера не существует какого-нибудь порядка, в котором он будет выполняться. Это значение обычно используется для отмены ранее установленного для триггера значения first или last.

В примере 14.6 показано использование системной хранимой процедуры sp_settriggerorder.

Первый и последний триггеры

 

Для отображения порядка, в котором выполняются триггеры, вы можете использовать следующее:

♦ хранимую процедуру sp_helptrigger;

♦ функцию object property.

Системная процедура spheiptrigger имеет столбец order, который содержит порядковый номер указанного триггера. Используя функцию objectproperty,

вы можете указать либо ExecIsFirstTrigger, либо ExecIsLastTrigger в качестве второго параметра этой функции. Первый параметр всегда является идентификационным номером объекта базы данных. Функция objectproperty отображает 1, если конкретное свойство истинно.


Подробнее в этой категории: « Триггеры INSTEAD OF Триггеры DDL »
Триггеры DDL
Триггеры уровня базы данных
Триггеры уровня сервера
Триггеры и CLR
Резюме к тригерам

Добавить комментарий


Защитный код
Обновить

© 2020 www.serversql.ru. Все права защищены.