PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Come utilizzare i trigger di PostgreSQL?

"Creazione di un trigger " consiste in due passaggi in PostgreSQL:

1.) Crea una funzione trigger - con valore di ritorno speciale trigger :

CREATE FUNCTION trg_update_prod_price()
  RETURNS trigger AS
$func$
BEGIN
   NEW.price := NEW.price + 5;
   RETURN NEW;
END
$func$  LANGUAGE plpgsql;

Più trigger possono utilizzare la stessa funzione di trigger.

2.) Crea un trigger chiamando una funzione trigger esistente:

CREATE TRIGGER update_prod_price
BEFORE INSERT ON products
FOR EACH ROW EXECUTE PROCEDURE trg_update_prod_price();

Per "rilasciare l'attivatore" (che significa la funzione di attivazione ), devi prima eliminare tutti i trigger che fanno riferimento ad esso e quindi rilasciare la funzione di trigger stessa.

DROP TRIGGER update_prod_price ON products;
DROP FUNCTION trg_update_prod_price();

Se elimini una tabella, tutti i trigger collegati vengono eliminati con essa. Non c'è bisogno di lasciarli cadere separatamente.