Cópia geral
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á.
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
Curtidas 0
Respostas
David Sylvestre
27/05/2013
Não sei se entendi bem o que você está querendo.
Mas seria algo do tipo
Lembrando que o left join é para não ir registros que você já tenha inserido na outra tabela, evitando assim duplicate key.
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.
GOSTEI 0
Aloisio Santos
27/05/2013
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.
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.
GOSTEI 0
Aloisio Santos
27/05/2013
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;
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;
GOSTEI 0