AJUDA - MELHORAR O DESEMPENHO DE UM INSERT EM LOOP
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
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
negócio louco
tenta assim
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
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