2013/6/24 Alexsander Rosa <[email protected]>
> Estou colocando COMMENTS nas constraints com mensagens de erro mais claras.
> Quero poder converter isto:
> ERROR: new row for relation "produto" violates check constraint
> "chk_produto_precomin"
> Nisto:
> O preço de tabela do produto não pode estar abaixo do preço mínimo.
>
> Gostaria de uma maneira de descobrir o SQLSTATE e o ID da constraint que
> deu erro.
> Em último caso vou procurar tudo que está entre aspas no catálogo.
>
Seria isto??
CREATE table foo(id int primary key);
CREATE TABLE bar(id int references foo(id));
COMMENT ON CONSTRAINT bar_id_fkey ON TABLE bar IS 'Falha na chave
estrangeira';
DO $$
BEGIN
INSERT INTO bar VALUES(2);
EXCEPTION
WHEN integrity_constraint_violation THEN
RAISE NOTICE '%', obj_description(49354);
-- Claro que num trigger vc poderia colocar TG_RELNAME e TG_RELID nos
parametros
-- desta função
END $$;
Abraço!
-Leo
--
Leonardo Cezar
http://www.postgreslogia <http://postgreslogia.wordpress.com>.com
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral