Fórum Cópia geral #444086

27/05/2013

0

Tenho duas tabelas iguais, e preciso copiar o conteúdo de uma para a outra. Como faço isso de uma maneira mais prática, do que copiando campo a campo?
Já postei esta mesma dúvida há um tempo atrás, estava salvo num HD externo que perdi. E não estou conseguindo localizar dentro do fórum.

Agradeço a ajuda desde já.
Aloisio Santos

Aloisio Santos

Responder

Posts

27/05/2013

David Sylvestre

Não sei se entendi bem o que você está querendo.
Mas seria algo do tipo
Insert into TabelaDestino (campos...)
select
   a.Campos...
from TabelaOrigem a
left outer
join TabelaDestino b
   on a.Chave = b.Chave
where
   b.Chave is null


Lembrando que o left join é para não ir registros que você já tenha inserido na outra tabela, evitando assim duplicate key.
Responder

Gostei + 0

27/05/2013

Aloisio Santos

A situação é a seguinte: tenho uma tabela ALUNOS e outra tabela ARQUIVO_MORTO, ambas de igual estrutura.
Quando o aluno sai da escola, seu registro é transportado para a tabela ARQUIVO_MORTO. Mas não quero levar campo a campo, pq, como já mencionei acima, um colega do fórum já havia mencionado como fazer, inclusive eu já utilizei, mas faz tempo, não lembro em que projeto foi, já apaguei o arquivo e não sei onde guardei o .TXT com a rotina. :$

Fico no aguardo.
Responder

Gostei + 0

27/05/2013

Aloisio Santos

Obrigado caros colegas. Consegui encontrar o arquivo... e para constar, até mesmo pq possa ser que alguém precise tb, segue abaixo o código exemplo...


procedure TFrmPrincipal.BitBtn1Click(Sender: TObject);
var
I: Integer;
begin
CDSCliente.First;
while nOT CDSCliente.Eof do
begin
CDSBackup.Insert;
for I := 0 to CDSCliente.FieldCount - 1 do
CDSBackup.Fields[I].AsString := CDSCliente.Fields[I].AsString;
CDSBackup.Post
end;
end;
Responder

Gostei + 0

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

Aceitar