if (erro){
        /* ROOLBACK      */
            update tabela set status = "Erro" where ....
        TRANSACAO = true; // Reinicia a transação, não sai do while
    }else{
        if (conta == 1000){
            COMMIT
            conta = 0;
            TRANSACAO = true; // Reinicia a transação
        }
Marcelo, o que você pode evitar aqui seria o "rollback". Ao invés de rollback poderia usar um campo para marcar o registro como "erro" e seguir o processo. Daí na lógica da sua rotina, já que não vai sair do laço, você trata para ignorar estes registros que tiverem status de erro e processa apenas os demais.


Alex

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

Responder a