sql >> Base de Datos >  >> RDS >> PostgreSQL

¿Cómo usar los disparadores de PostgreSQL?

"Creando un disparador " consta de dos pasos en PostgreSQL:

1.) Cree una función de activación - con valor de retorno especial trigger :

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

Múltiples disparadores pueden usar la misma función de disparador.

2.) Cree un disparador llamando a una función de activación existente:

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

Para "soltar el gatillo" (es decir, la función de activación ), primero debe descartar todos los disparadores que hacen referencia a él y luego soltar la función de disparador en sí.

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

Si suelta una tabla, todos los disparadores adjuntos se quitan con ella. No es necesario soltarlos por separado.