Cara, Fiz alguns testes aqui, e pelo que notei, não da EXCEPTION quando o INSERT é feito FORA da FUNCÃO (No caso, o que dispara a TRIGGER) , para dar EXCEPTION, o INSERT deve estar dentro da FUNCAO (Posso estar errado, mas foi o que os testes apontaram). Então, tenta algo assim :
CREATE OR REPLACE FUNCTION checkpktest() RETURNS "trigger" AS $$ DECLARE exist BOOL; BEGIN SELECT 't'::bool INTO exist FROM teste WHERE test = NEW.test; RAISE NOTICE 'INSERINDO %',NEW.test; IF exist THEN RAISE EXCEPTION 'JA CADASTRADO'; END IF; RETURN NEW; END $$ LANGUAGE 'plpgsql' VOLATILE; É custoso, mas funciona. -- Att: Thiago Risso _______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral