nao precisa se preocupar com isso... se voce tratar tudo dentro de um bloco transacional o banco cuida disso pra vc...
2009/10/9 André Volpato <[email protected]> > Rudinei Dias escreveu: > > > > Não... > > Eu só quero sabe "se" houve um erro no sql, e não "qual" erro. > > > > Para ser mais didático: > > > > update tabela set campo='xxxx' where x=5; > > > > -- Se houve um erro no SQL, por exemplo de sintaxe por faltar o ID > > -- gostaria que caísse no exception abaixo. > > EXCEPTION RAISE EXCEPTION 'erro dml'; > > --Se não der exception, continuo com a lógica do programa > > > > > > Vou te passar um exemplo do PHP tratando as exceptions, aí você adapta > pra tua situação. > > PL: > > create function teste_php > declare > (...) > begin > > (...) > > > -- Ignora erro de chave duplicada > begin > insert into ... > exception when unique_violation then null > end > > -- Faz update: em caso de erro, vai dar a exception lá de baixo > update tabela set campo.... > > return 'OK'; > > exception when others then > raise exception 'Erro na function: % % ', SQLSTATE , SQLERRM; > end; > > > PHP > $res = @pg_query("select * from teste_php()"); > $retorno = @pg_fetch_result($res,0,0); > if ($retorno != 'OK') > die($retorno); > > > Dá pra você se virar daqui, eu acho. > > []´s, André Volpato > > _______________________________________________ > pgbr-geral mailing list > [email protected] > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral > -- ---- Att. José Adriano Alves Analista de Sistemas - Móveis Gazin. Cel..: +55 44 8802 3994 Fone: + 55 44 3663 8000 - 2319 Mail: [email protected] MSN: [email protected] Este e-mail, seu conteúdo e seus anexos estão sujeitos à privilégio de comunicação podendo este documento incluir informação confidencial e de propriedade restrita da GAZIN e apenas pode ser lido por aqueles a qual o mesmo tenha sido endereçado. Se você recebeu essa mensagem de e-mail indevidamente, por favor avise-nos imediatamente. Quaisquer dados, opiniões ou informações expressadas neste e-mail pertencem ao seu remetente e não necessariamente coincidem com aquelas da GAZIN, são de exclusiva responsabilidade do signatário. Este documento não pode ser reproduzido, copiado, distribuído, publicado ou modificado por terceiros, sem a prévia autorização por escrito da GAZIN. Antes de imprimir pense em seu compromisso com o Meio Ambiente
_______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
