Létrehozása trigger funkció - studopediya
Érvek a parancsban megadott CREATE ravaszt. A tömb index kezdődik nulla
Listing 6,44 mutat példát meghatározására trnggernoy funkció PL / pgSDL segítségével néhány ezeket a változókat. Trigger funkció check_shipment_ad-dition () hivatkoznak a beszúrás után vagy UPDATE művelet szállítmányok táblázat.
check_shipment_addition () függvény gondoskodik arról, hogy minden egyes új rekord tartalmaz egy érvényes ügyfél-azonosító számát, és a könyv ISBN számával. Ezután az összes példányszámot a táblázatban állomány csökkent 1, ha a trigger által kiváltott SQL INSERT parancs (de nem a parancs UPDATE!)
Listing 6.44. Trigger check_shipment_addition () funkció
CREATE OR csere funkció books.check_shipment_addition ()
RETURNS kiváltó AS
-- Ha van egy kódot a vásárlók táblázat, amely egybeesik a kódot
-- vevő a táblázatban új, hozzá egy változó ID_NUMBER.
SELECT INTO ID_NUMBER id FROM WHERE id = books.customers NEW.customer_id;
-- Ha nincs találat, egy kivételt.
HA nem található, akkor
EMELÉS kivétel „Érvénytelen ügyfél-azonosító számot.”;
-- Ha van egy kódot a kiadásban tábla ISBN, amely egybeesik a kódot
-- ISBN táblázatban új, hozzá egy változó book_isbn.
SELECT INTO book_isbn ISBN FROM WHERE books.editions ISBN = NEW.isbn;
-- Ha nincs találat, egy kivételt.
HA nem található, akkor
EMELÉS kivétel „Érvénytelen ISBN.”;
-- Ha az előző ellenőrzések sikeresek voltak,
-- frissíti a példányszámot.
IF TG_OP = 'INSERT' THEN
UPDATE books.stock SET készlet = készleten -1 AHOL ISBN = NEW.isbn;