Читайте также:
|
|
Триггер – хранимая процедура связанная с таблицей или представлением, которая автоматически запускается при изменении, удалении и добавлении данных. Он никогда не вызывается как процедура, а срабатывает при обращении к данным. Триггер может восстановить изменённые данные, может выдать сообщение об ошибке и т.д. Триггеры используются в следующих случаях:- для автоматического контроля вводимых данных.- для автоматической регистрации, изменении данных.- для автоматического оповещения об изменении данных.Для создания триггеров используется следующий синтаксис:create trigger <имя> for <таблица>[Active/Inactive] – активен или пассивен триггер[Before/After] – определяет фазу срабатывания триггера. Действия могут выполнятся перед тем как изменить данные и после этого.Delete, insert, update – задаёт операцию, на которую реагирует триггерPosition<номер> - приоритет срабатывания триггера, если в данный момент могут сработать несколько триггеров, то первый срабатывает тот, у которого меньше номер. (0 – 32767)Для того чтобы изменить это состояние используется запись: After trigger <имя> Inactive as begin оператор 1,….., оператор n – тело триггера (список операторов, как и в хранимых процедурах) end. Триггеры обычно работают, как со старыми так и с новыми значениями атрибутов. В них имена атрибутов имеют префикс new.<имя атрибута> old. <имя атрибута> ПРИМЕР: написать триггер запоминающий все изменения зарплаты сотрудников. create table salary – history (Emp № integer, Change date date, old salary integer, percent change integer) create trigger save salary change for Empl after update as begin if (old. salary <> new. salary) then insert into salary – history values (old. Emp №, now, old. salary, (new. salary – old. salary)*100/old. salary).
Дата добавления: 2015-07-25; просмотров: 52 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Хранимые процедуры. | | | Защита БД от неправильного использования. |