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

Оценить
(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, если конкретное свойство истинно.


Триггеры DDL
Триггеры уровня базы данных
Триггеры уровня сервера
Триггеры и CLR
Резюме к тригерам

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


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

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