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