PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Comment utiliser les déclencheurs PostgreSQL ?

"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.