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
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
