PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Como usar gatilhos do PostgreSQL?


"Criando um gatilho " consiste em duas etapas no PostgreSQL:

1.) Crie uma função de gatilho - com 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;

Vários gatilhos podem usar a mesma função de gatilho.

2.) Crie um gatilho chamando uma função de gatilho existente:
CREATE TRIGGER update_prod_price
BEFORE INSERT ON products
FOR EACH ROW EXECUTE PROCEDURE trg_update_prod_price();

Para "soltar o gatilho" (significando a função de gatilho ), você deve primeiro descartar todos os gatilhos que fazem referência a ele e, em seguida, descartar a própria função de gatilho.
DROP TRIGGER update_prod_price ON products;
DROP FUNCTION trg_update_prod_price();

Se você descartar uma tabela, todos os gatilhos anexados serão descartados com ela. Não há necessidade de soltá-los separadamente.