>
> Não entendi bem o que você deseja com a captura: você quer dar um
> tratamento específico para cada possível erro?
>
> Osvaldo
>


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

================================================================

declare
  update tabela set campo='xxxx' where x=5;
  EXCEPTION RAISE EXCEPTION 'erro dml';
  insert into tabela2 values(5,'xxxx');
end.

O que eu não estou sabendo aqui é como pegar esse exception
somente em caso de erro, pois se o código fosse como nesse
exemplo abaixo (baseado na documenteção) sempre ocorreria o
RAISE EXCEPTION, mesmo o update tendo ocorrido.

declare
  update tabela set campo='xxxx' where x=5;
  RAISE EXCEPTION 'erro dml';
  insert into tabela2 values(5,'xxxx');
end.
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a