Olá,

2010/1/14 Bruno Carneiro <[email protected]>

>
> Estive lendo a documentação e algo não me ficou claro.
>
> Suponha que dentro da minha transaction eu tenha 3 comandos sql. E um deles
> retorna um erro.
>
> Eu preciso fazer o Rollback para cancelar todas as operações? Ou o postgres
> já faz isso automaticamente retornando um erro para mim?
>

Sempre quando ocorre um erro, automaticamente a transação é abortada.
Aconselho você a dar uma lida sobre as propriedades ACID (Atomicidade,
Consistência, Isolamento e Durabilidade).

>
> Porque estou pensando em fazer o seguinte:
>
> Begin;
> sql1;
> sql2;
> sql3;
> Commit;
>
> E desejo que se algo der errado ali no meio, o comit não aconteça e tudo
> volte a ser como era antes.
>

Isso é feito automaticamente.

Agora para você capturar o erro gerado e para tratar exceções você precisa
trabalhar com funcões em PL/pgSQL.

> --
> View this message in context:
> http://old.nabble.com/Tratar-erro-em-transaction-tp27160499p27160499.html
> Sent from the PostgreSQL - Brasil mailing list archive at Nabble.com.
>
> _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>


[]s
-- 
JotaComm
http://jotacomm.wordpress.com
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a