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

Hvordan bruger man PostgreSQL-triggere?

"Oprettelse af en trigger " består af to trin i PostgreSQL:

1.) Opret en triggerfunktion - med speciel returværdi trigger :

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

Flere triggere kan bruge den samme triggerfunktion.

2.) Opret en trigger kalder en eksisterende triggerfunktion:

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

For at "slippe udløseren" (betyder triggerfunktionen ), skal du først slippe alle triggere, der refererer til det, og derefter slippe selve triggerfunktionen.

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

Hvis du dropper en tabel, bliver alle tilknyttede triggere droppet med den. Det er ikke nødvendigt at droppe dem separat.



  1. Dynamisk SQL vs Stored Procedure

  2. hvordan man validerer heltal datatype i oracle procedure

  3. Endnu en grund til at undgå sp_updatestats

  4. Giver flere fremmednøgler mening?