From: Everton B 
Sent: Friday, September 16, 2016 10:36 AM
To: Comunidade PostgreSQL Brasileira 
Subject: Re: [pgbr-geral] RollBack isolado, existe?

> Nao entendi se eh exatamente isso que vc precisa, mas de uma olhada em 
> SAVEPOINT

> https://www.postgresql.org/docs/current/static/sql-savepoint.html

Olha só, ta vendo como não custa perguntar... é exatamente disso que estava 
falando Everton

Pelo que entendi esse SAVEPOINT mantem as alterações realizadas antes do Erro, 
assim dá pra efetivar as que estão OK e ignorar a com erro e prosseguir o 
processo.
Veja que aos poucos vai ficando claro a minha necessidade... o erro que tenho 
não pode terminar o processo como aconteceria com o rollback normal e ao mesmo 
tempo não posso dar commit a cada registro.
Um SAVEPOINT seria excelente.
Claro que posso fazer mil validações e deixar o código tinindo, mas sempre tem 
um erro novo e até trata-lo ele deve simplesmente ser ignorado no processo, 
somente emitindo um aviso.

Acho que agora ficou mais claro o problema:

Inicia Transacao
Insere
insere
Insere – deu erro (motivo indefinido) – desfaz somente este e continua
Insere
insere
Commit

Obrigado pessoal e Everton

Marcelo




--
Everton

2016-09-16 10:34 GMT-03:00 <siste...@mvsoftware.com.br>:



  -----Mensagem Original----- From: Guimarães Faria Corcete DUTRA, Leandro
  Sent: Friday, September 16, 2016 10:20 AM
  To: Comunidade PostgreSQL Brasileira
  Subject: Re: [pgbr-geral] RollBack isolado, existe?

  2016-09-16 10:02 GMT-03:00  <siste...@mvsoftware.com.br>:

    Esse é uma rotina muito comum, mas estou numa duvida, preciso que o sistema
    efetive os registros que não derem erro, mas como veem ele só vai efetivar a
    cada 1mil.



    É só tratar os erros, as exceções.


  Pois é, sabe quando a solução não cabe no problema?
  É o caso...

  Essa rotina roda um arquivo com N registros, se houver um erro o usuario 
precisa esperar uma outra sede concertar o erro pra depois rodar novamente,
  mas os registros OK deveriam ja ser efetivados.

  Pra simplificar eu gostaria de saber se existe uma forma de voltar/ignorar 
apenas o registro com erro e não a transação toda, sei que isso foge a regra de 
transação, mas não custa perguntar né.


  Marcelo 



  _______________________________________________
  pgbr-geral mailing list
  pgbr-geral@listas.postgresql.org.br
  https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral



--------------------------------------------------------------------------------
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a