Em Qua, 2009-04-01 às 11:38 -0300, André Volpato escreveu:
> Jorge Vilela escreveu:
> > Então, não sei se é possível fazer assim. 
> > Sendo assim, eu teria que colocar todos os inserts em uma "query" só?
> >
> 
> Não. Você pode rodar o  BEGIN, e depois rodar cada um dos inserts com 
> tratamento de erro feito pela aplicação mesmo.


        Jorge,

        Apenas fazendo um adendo ao que os demais colegas já informaram você
pode tomar este pseudo-codigo como exemplo:

---
INICIO:
Conectar na Base;
Iniciar transação (BEGIN);
LAÇO:
Existem itens na lista?
  Tente fazer:
    Insira no banco (INSERTs);
    Retire o item da lista;
  Ocorreu algum Erro?
    ROLLBACK
    Saia do Laço e vá para FIM
VÁ PARA LAÇO;
Persista a transação (COMMIT)
FIM:
Desconecte-se;
---

        Neste pseudo-codigo, perceba que é feita UMA conexão e várias
transações, e somente no final é que a conexão é finalizada.  Isto é
feito porque o custo de conexões no banco é alto, sendo extremamente
aconselhável, tanto pela literatura, quando por outros colegas que se
utilize uma estratégia semelhante à acima.

Um abraço, 
Guedes

-- 
Dickson S. Guedes 
mail/xmpp: [email protected] - skype: guediz
http://guedesoft.net - http://planeta.postgresql.org.br

Attachment: signature.asc
Description: Esta é uma parte de mensagem assinada digitalmente

_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a