> > 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
