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
