Fórum Update #164194

02/06/2003

0

Preciso atualizar vários campos de uma tabela com os campos de outras.
Como faço isto via SQL. Onde meus campos chaves são data e lote.
Não quero usar o INNER JOIN, o q quero é colocar o valor da tabela A no campo da Tabela B.

Alguém pode me ajudar?

Antecipadamente Obrigado..


Pedro Dias

Pedro Dias

Responder

Posts

02/06/2003

Fred

use parametros

update tabela set data = :data

coloque este sql

depois passe os parametros
query.close;
query.params[0].value := datadatabelaB
query.execsql;


Responder

Gostei + 0

02/06/2003

Pedro Dias

Valeu a dica.

Tentei fazer isto. porém não satisfaz minha necessidade.
Imagine as seguintes tabelas:


[b:bb87113d3d]tabela A[/b:bb87113d3d]
Data cod Nome
1/01/01/2003 15 ´Jose´


[b:bb87113d3d]tabela B[/b:bb87113d3d]
Data cod Nome
1/01/01/2003 15 ´´


Quero escrever um SQL mais ou menos assim:

Select * from Tabela A Where data=´01/01/2003´

while not tabelaA.eof do begin
Qry1.Close;
Qry1.parameters[0].Value:=TabelaA.Fieldbyname(´data´).Value;
Qry1.parameters[1].Value:=TabelaA.Fieldbyname(´cod´).Value;
Qry1.parameters[2].Value:=TabelaA.Fieldbyname(´nome´).Value;
next
end;


Qry.Sql(´UpDate tabelaB set Nome =:nome where Data=:data and cod=:cod´)

Minha rotina fica muito lenta. Tem como agilizar este processo?


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar