ПредишенСледващото

Аргументи, посочени в създаване на команда спусъка. Индексът на масив започва на нула

Обявата 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;

Свързани статии

Подкрепете проекта - споделете линка, благодаря!