2009/12/18 Gabriel dos Santos <[email protected]>:
> Boa noite a todos,
>
> Gostaria de saber se existe alguma forma de tratar as menssagens de erro
> quando violam um CONSTRAINT de que foi
> estabelecida em uma tabela. Com por exemplo:
>
> CONSTRAINT chk_valor_positivo CHECK (valor >= 0);
>
> Pois caso o meu sistema PHP quando for gravar um produto
> com o valor negativo, o banco de dados irá retornar um mensagem
> de erro da seguinte forma:
>
> ERROR:  new row for relation "tbproduto" violates check constraint
> "chk_valor_positivo"
>
> so que eu gostaria de fazer com que caso a CHECK fosse violada, para
> retornar a seguinte
> mensagem:
>
> O valor do produto não pode ser menor do que zero.
>
> Alguem sabe como fazer isto?
>

Não trabalho com PHP então não sei se há como fazer isso, mas em
outras IDEs para desktop (Visual Foxpro, Powerbuilder, etc) é possível
tratar os erros de SQL antes que uma mensagem de erro _apareça_. Isto
depende mais do PHP, basta executar o comando SQL e testar o código de
retorno do banco de dados (geralmente SQLDBCode). Se o código for
erro, imprima uma mensagem diferente para o usuário.


-- 
TIAGO J. ADAMI
http://www.adamiworks.com
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a