Em 04-04-2013 08:23, Irineu escreveu:
Contraint:
ALTER TABLE senda.ind_03_03_02_02_a1
ADD CONSTRAINT ind_03_03_02_02_a1_id_movimento_ukey
UNIQUE(id_movimento);
Criei uma trigger no BEFORE INSERT a cada ROW fazendo um RETURN NULL ,
caso o valor já exista na tabela.
CREATE TRIGGER movimentos_baixa_bfr
BEFORE INSERT
ON senda.ind_03_03_02_02_a1
FOR EACH ROW
EXECUTE PROCEDURE senda.movimentos_baixa();
Na função trigger :
...
IF EXISTS(SELECT a.id FROM senda.ind_03_03_02_02_a1 a WHERE
a.id_movimento = NEW.id_movimento) THEN
RETURN NULL;
END IF; ...
Continou a disparar a contraint.
Poderia passar toda a sua função?
Provavelmente você deveria colocar o código de INSERT após um ELSE, mas
como tem um END IF aí não dá pra saber o que o resto de sua função faz.
[]s
__________________________________
Flavio Henrique A. Gurgel
Líder de Projetos Especiais
Consultoria, Projetos & Treinamentos 4LINUX
Tel1: +55-11.2125-4747 ou 2125-4748
www.4linux.com.br
email: fla...@4linux.com.br
______________________________
FREE SOFTWARE SOLUTIONS
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral