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;

Kapcsolódó cikkek