В начало

Триггер на удаление товара

 

            Есть база данных «Sklad». База создана в СУБД «Interbase 6.5», в базе есть таблицы «Tovar» и «Rashod».

 

Рис. 1. Таблицы «Tovar» и «Rashod»

 

            Необходимо создать триггер, которой бы удалял запись из таблицы «Rashod» при удалении записи в таблице «Tovar».

            Запускаем «IBConsole». Пишем запрос на создание триггера, размещаем его в верхней части рабочего окна утилиты «Interactive SQL» и выполняем.

SET TERM !!;

CREATE TRIGGER Udalenie FOR Tovar

ACTIVE AFTER DELETE

AS

   BEGIN

   DELETE FROM Rashod

   WHERE Rashod.Tovar = Tovar.Tovar;

   END!!

SET TERM ;!!

 

            Далее проверим работу триггера на процессе удаления позиции «Анальгин» в таблице «Tovar».

 

 Рис. 2. Таблицы «Tovar» и «Rashod» после удаления записи «Анальгин» в таблице «Tovar»

 

            Как видно из рисунка 2, при удалении записи в таблице «Tovar», аналогичная запись в таблице «Rashod» также была удалена, но уже не мной, а триггером.