2013/4/25 Douglas Fabiano Specht <[email protected]>

> Pessoal, o que preciso é:
> se o campo situacao='O' e vir um update neste campo tambem como 'O', quero
> bloquear e dar uma mensagem..
>
>
Vc pode fazer mais ou menos assim:

CREATE OR REPLACE FUNCTION trigger_raise_exception(message TEXT)
RETURNS trigger AS
$$
BEGIN
  RAISE EXCEPTION '%', message;
  RETURN NULL;
END;
$$ LANGUAGE plpgsql;

CREATE TRIGGER bloqueia_update_situacao
  BEFORE UPDATE OF situacao ON nome_da_sua_tabela
  WHEN OLD.situacao = 'O' AND NEW.situacao = 'O'
  FOR EACH ROW EXECUTE PROCEDURE trigger_raise_exception(E'Situacao atual e
anterior = \'O\'');


Eu não testei, mas acredito que funcione.

Att,

-- 
Fabrízio de Royes Mello
Consultoria/Coaching PostgreSQL
>> Blog sobre TI: http://fabriziomello.blogspot.com
>> Perfil Linkedin: http://br.linkedin.com/in/fabriziomello
>> Twitter: http://twitter.com/fabriziomello
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a