AJUDA - MELHORAR O DESEMPENHO DE UM INSERT EM LOOP

PAIVA2108 12/11/2013 17:05:27
#431055
Boa tarde!
Gostaria de saber como melhorar o desempenho de um insert/update, vou postar o codigo;

Private sub Taltaltal()
Dim rsTabela As New ADODB.Recordset
Dim rsTabela_temp As New ADODB.Recordset

Set rsTabela = Nothing
Set rsTabela_temp = Nothing

rsTabela.open [Ô]select * from Tabela[Ô],conexao_sqlserver, adOpenKeyset, adLockReadOnly

If rsTabela .RecordCount > 0 Then
Do Until rsTabela .EOF
DoEvents
Set rsTabela_temp = Nothing
rsTabela_temp .Open [Ô]select * from Tabela where codigo = [Ô] & rsTabela !Codigo, banco_postgre, adOpenKeyset, adLockOptimistic

If rsTabela_temp .RecordCount = 0 Then rsTabela_temp .AddNew
rsTabela_temp !Codigo = rsTabela !Codigo
rsTabela_temp !descricao= rsTabela !descricao
rsTabela_temp !valor= rsTabela !valor
rsTabela_temp .Update

rsTabela.MoveNext
Loop
End If
end sub
MARCELO.TREZE 12/11/2013 18:56:09
#431063
negócio louco

tenta assim

Dim RS As New ADODB.Recordset

RS.open [Ô]INSERT INTO tabela_temp (descricao, valor) SELECT tabela.codigo, tabela.descricao,tabela.valor FROM tabela where tabela_temp.codigo = tabela.codigo[Ô],conexao_sqlserver, adOpenKeyset, adLockReadOnly

Set RS = Nothing


PAIVA2108 14/11/2013 11:36:49
#431135
MARCELO-TREZE , são conexões diferentes, um banco é postgre o outro é sql server, queria agilizar o processo de atualização de dados :)
Faça seu login para responder