[firebase-br] Inserir registro LOOP X TRANSAÇÃO

Diego Bulgarelli diegobulg em gmail.com
Seg Maio 14 17:35:50 -03 2012


Não conheço nenhum Commit Especial, mas e se você colocasse um campo Char
(1) na tabela informando que os dados não estão "Importados". Assim você
conseguiria dar um Commit a cada 1000 INSERTs por exemplo e caso queira
cancelar tudo, basta excluir estes registros.

É só uma ideia, mas acredito que tenha soluções melhores...
Abraço

Em 14 de maio de 2012 17:09, Marcelo Moreira <marcelomoreira.souza em gmail.com
> escreveu:

> Pessoal,
> Boa tarde!
>
> Tenho um rotina de importação de dados que le algumas linhas de um arquivo
> TXT, trabalha as informações e executa um SP que vai dar insert em uma
> tabela no banco.
> Hoje estou fazendo isso dentro de uma transacao, mais ou menos assim:
>
> 1 - Ler arquivo txt
> 2 - Inicia transação
> 3 - Loop para percorrer todas as linhas do arquivo executando minha SP (
> execute procedure TESTE(:nome, :telefone); )
> 4 - Comita transação.
>
> O problema neste processo é que as vezes tenho a necessidade de importar
> arquivos grandes (20.000 linhas) e isso prende por muito tempo a transação.
>
> Existe algum recurso que eu pudesse usar para de tantas em tantas linhas
> executar uma especie de COMMIT "ESPECIAL" mas caso ocorra algum problema
> meu ROLLBACK eliminasse tudo que foi feito, inclusive o que foi gravado
> antes dos COMMIT's "ESPECIAL"
>
> Obrigado pela atenção!
>
> --
> Marcelo Moreira
> (31) 8420-2723
> E-mail / MSN: marcelomoreira.souza em hotmail.com
> E-mail: marcelomoreira.souza em gmail.com
> Skype: marcelomoreira.souza
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>



Mais detalhes sobre a lista de discussão lista