Passar dados de uma tabela à outra...

Delphi

26/02/2004

Saudações,
acidentalmente, um colega de trabalho meu apagou alguns registros e uma tabela paradox do nosso sistema. Eu tenho um backup mas gostaria de passar os dados mais recentes para essa tabela de backup. Como faço isso? Muito obrigado.


Elias Jr

Elias Jr

Curtidas 0

Respostas

Paulo_amorim

Paulo_amorim

26/02/2004

Olá

Não sei se isso funciona em Paradox, mas em SQL basta fazer:

INSERT INTO tab(<campos>) SELECT * FROM backup


GOSTEI 0
Lucas Silva

Lucas Silva

26/02/2004

pega 2 databases uma ligada com o bd antido e outra o novo...

coloque 2 queries uma ligada a cada database.

Em uma você seleciona o registro, e na outra vc faz a verificação.. se não existir, vc salva...


Qualquer dúvida me dá o toque ai...

Falow,
Lucas.


GOSTEI 0
Elias Jr

Elias Jr

26/02/2004

Olá gente, olha estou usando tabelas paradox e utilizando o seguinte sql:
insert into cadseg(cont, cod_func, nome, cod_esc, escola, cargo, depto,
dt_nasc, rg, orgao, emissao, cpf, est_civil, cart_habil, dt_habil, ddd, fone,
celular, email, endereco, comp, bairro, cidade, cep, uf, tipo_res, tipo_carro,
marca, modelo, ano, placa, chassi, condutor, num_condutor, renov, seguradora,
vencimento, banco, classe, bonus, estac, usoveic) select * from cadsegbackup where
cod_func >= ´149´
e aí acontece o seguinte ao invés de adicionar na tabela de backup o restante dos dados ele apenas coloca mais um dado na tabela com problema. Como resolvo? E se eu inverto a ordem ele acusa parametro inválido. Muito obrigado.


GOSTEI 0
Paulo_amorim

Paulo_amorim

26/02/2004

Olá

creio que me equivoquei na passagem dos dados, foi pro lado errado...

você quer inserir dados na tabela de backup, certo?

Então faça o contrário:

INSERT INTO backup(<campos>) SELECT <campos> FROM tab

Lembre-se que o número de <campos> devem ser iguais no INSERT e no SELECT...

Até+


GOSTEI 0
Elias Jr

Elias Jr

26/02/2004

Valeu Paulo a sua dica funcionou certinho...agora fiquei com outro probleminha...eu esqueci de cois campos que não existiam na table de backup mas que estão na antiga. Daí eu criei os campos na backup mas não sei como passar os dados de apenas esses dois campos. Tentei com esse sql mas ele adicionou todas as linhas abaixo do último registro quando eu quero apenas preencher as colunas em branco. Vc pode me ajudar? Muito obrigado.


GOSTEI 0
Turbo Drive

Turbo Drive

26/02/2004

INSERT INTO backup(<campo1, campo2>) SELECT <campo1, campo2> FROM tab

vc precisa utilizar uma query que não possua nenhum campo adicionado.


GOSTEI 0
POSTAR