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

Responder a