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