Pessoal, tenho a seguinte situação:
Vou tentar colocar de um modo simples:
TRANSACAO = true; // inicia a transação
conta = 0;
while (true) {
conta = conta+1;
... codigo
if (erro){
ROOLBACK
TRANSACAO = true; // Reinicia a transação, não sai do while
}else{
if (conta == 1000){
COMMIT
conta = 0;
TRANSACAO = true; // Reinicia a transação
}
}
}
if (TRANSACAO){
COMMIT
}
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.
Se der erro dentre esse 1mil perco o que foi feito atras por causa do rollBack
Teria como isolar o rollBack a apenas o registro que deu erro?
Eu não queria dar Commit a cada registro, pois fica lento os Update ou Inserts
Obs: Estou dando Commit a cada 1mil pra não carregar muito a memoria tambem,
mas dependendo esse numero poderá subir depois.
Marcelo
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral