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

9 respostas
jonata.zurchimitten

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

9 Respostas

L.Bach

INSERT INTO tabelaA SELECT campo1, campo2…campoN FROM tabelaB

jonata.zurchimitten

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

L.Bach

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”.

jonata.zurchimitten

ok,

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

L.Bach

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.

jonata.zurchimitten

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 ?

L.Bach

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.

jonata.zurchimitten

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

L.Bach

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

Criado 9 de março de 2009
Ultima resposta 9 de mar. de 2009
Respostas 9
Participantes 2