"Skapa en trigger " består av två steg i PostgreSQL:
1.) Skapa en triggerfunktion
- med speciellt returvärde trigger
:
CREATE FUNCTION trg_update_prod_price()
RETURNS trigger AS
$func$
BEGIN
NEW.price := NEW.price + 5;
RETURN NEW;
END
$func$ LANGUAGE plpgsql;
Flera triggers kan använda samma triggerfunktion.
2.) Skapa en trigger anropa en befintlig triggerfunktion:
CREATE TRIGGER update_prod_price
BEFORE INSERT ON products
FOR EACH ROW EXECUTE PROCEDURE trg_update_prod_price();
För att "släppa utlösaren" (vilket betyder triggerfunktionen ), måste du först släppa alla triggers som refererar till det och sedan släppa själva triggerfunktionen.
DROP TRIGGER update_prod_price ON products;
DROP FUNCTION trg_update_prod_price();
Om du släpper ett bord släpps alla bifogade triggers med det. Du behöver inte släppa dem separat.