[RESOLVIDO]como inserir uma tabela na outra com o insert

bom dia!!

gostaria que me explicacem como inserir uma tabela antiga na outra nova com oinsert, tem como fazer bem simples para mim entender ?

eu uso o firebird

grato

INSERT INTO tabelaA SELECT campo1, campo2…campoN FROM tabelaB

continuo sementender como faço para pegar uma tabela e inserir ela toda em outra tabela

Para inserir dados em uma tabela, o comando é:

INSERT INTO tabelaA (campo1, campo2, campo3…campoN) VALUES (valor1, valor2, valor3…valorN)

Se os valores devem vir de outra tabela, basta fazer o SELECT:

INSERT INTO tabelaA SELECT * FROM tabelaB

Deste jeito mesmo. Não precisa digitar o “VALUES”.

ok,

achei que tinha como transporta uma tabela inteira
e não campo por campo

Colega, acho que tu não leu direito o que escrevi.

Repetindo:

INSERT INTO tabelaA SELECT * FROM tabelaB

Em nenhum momento estou citando campos. Esta instrução vai pegar todos os registros da tabelaB e inserir na tabelaA.

desculpa
é que sou bem leigo nisto
estou começando agora

outra pergunta
os campos das duas tabelas tem que ser iguais ?
ou pode ser diferente ?

Não necessariamente, mas para funcionar o insert com select, o numero de campos do select tem que ser igual ao numero de campos da tabela onde vai ser feito o insert. Além disso, os campos têm que ser do mesmo tipo.

tem como eu inserir somente alguns campos na tabela

por exemplo

selecionar os campos que eu quero que va da tabelaB, esse insert tem que ser estre () ou não, aqui não deu certo fiz para testar

É possível, sim. Mas lembrando, as quantidades devem que ser iguais.