Аргументи, посочени в създаване на команда спусъка. Индексът на масив започва на нула
Обявата 6.44 показва пример на функцията за определяне trnggernoy PL / pgSDL, като се използват някои от тези променливи. Trigger функция check_shipment_ad-dition () се извиква след операцията INSERT или UPDATE с пратки маса.
check_shipment_addition () функция гарантира, че всеки нов запис съдържа валиден идентификационен номер на клиента и на ISBN на книгата. Тогава общият брой на копията на склад в таблицата е намалял с 1, ако спусъка се задейства от SQL INSERT команда (но не и по команда UPDATE!)
Обявата 6.44. Trigger check_shipment_addition () функция
CREATE OR REPLACE FUNCTION books.check_shipment_addition ()
Декларации задействат AS
-- Ако има код в таблицата с клиентите, което съвпада с кода
-- купувач в таблицата по-нов, присвояване към променлива ID_NUMBER.
SELECT В ID_NUMBER ID ОТ КОИТО books.customers ID = NEW.customer_id;
-- Ако не се намери мач, предизвика изключение.
АКО НЕ НАМЕРИТЕ ТОГАВА
ПОВИШАВАНЕ НА ИЗКЛЮЧЕНИЕ "Невалиден номер на идентификационен номер на клиента.";
-- Ако има код в ISBN на издания на маса, което съвпада с кода
-- ISBN в таблица ново, я възлага на променлива book_isbn.
SELECT В book_isbn ISBN ОТ КОИТО books.editions ISBN = NEW.isbn;
-- Ако не се намери мач, предизвика изключение.
АКО НЕ НАМЕРИТЕ ТОГАВА
ПОВИШАВАНЕ НА ИЗКЛЮЧЕНИЕ "Невалидна ISBN.";
-- Ако предишните проверки са били успешни,
-- актуализира броя на копията.
АКО TG_OP = 'INSERT "ТОГАВА
UPDATE books.stock SET наличност = състав -1 КЪДЕТО ISBN = NEW.isbn;
Свързани статии