"Création d'un déclencheur " consiste en deux étapes dans PostgreSQL :
1.) Créez une fonction de déclenchement
- avec une valeur de retour spéciale trigger
:
CREATE FUNCTION trg_update_prod_price()
RETURNS trigger AS
$func$
BEGIN
NEW.price := NEW.price + 5;
RETURN NEW;
END
$func$ LANGUAGE plpgsql;
Plusieurs déclencheurs peuvent utiliser la même fonction de déclencheur.
2.) Créez un déclencheur appeler une fonction de déclenchement existante :
CREATE TRIGGER update_prod_price
BEFORE INSERT ON products
FOR EACH ROW EXECUTE PROCEDURE trg_update_prod_price();
Pour "lâcher la gâchette" (c'est-à-dire la fonction de déclenchement ), vous devez d'abord supprimer tous les déclencheurs qui y font référence, puis supprimer la fonction de déclencheur elle-même.
DROP TRIGGER update_prod_price ON products;
DROP FUNCTION trg_update_prod_price();
Si vous supprimez une table, tous les déclencheurs attachés sont supprimés avec elle. Inutile de les déposer séparément.