Usuário com melhor resposta
Inserir dados em uma tabela através de outra

Pergunta
-
Olá,
Possuo uma tabela X e gostaria de popular as tabelas , Y e Z de acordo com os dados da tabela Y. Ou seja, irei efetuar uma consulta a tabela X e dependendo do resultado eu preencheria a tabela Y ou Z.
Exemplo:
X (Cod_id, Nome, Apelido)
Y (Cod_id, Nome_A, Apelido)
Z (Cod_id, Nome_B)
Gostaria de inserir o conteúdo de tabela X em Y e Z sendo que se o X.Nome começar com A o conteúdo será inserido na tabela Y, se começar com B será inserido na tabela Z.
Alguém teria alguma ideia de como montar este script?
Grato
Respostas
-
Bom dia,
Experimente mais ou menos dessa forma:
insert into TabelaY (Cod_id, Nome_A, Apelido) select Cod_id, Nome, Apelido from TabelaX where Nome like 'A%'; insert into TabelaZ (Cod_id, Nome_B) select Cod_id, Nome from TabelaX where Nome like 'B%';
Espero que ajude.
Assinatura: http://www.imoveisemexposicao.com.br
- Sugerido como Resposta Durval RamosModerator sexta-feira, 19 de dezembro de 2014 13:24
- Marcado como Resposta Douglas Canto segunda-feira, 22 de dezembro de 2014 10:55
Todas as Respostas
-
Bom dia,
Experimente mais ou menos dessa forma:
insert into TabelaY (Cod_id, Nome_A, Apelido) select Cod_id, Nome, Apelido from TabelaX where Nome like 'A%'; insert into TabelaZ (Cod_id, Nome_B) select Cod_id, Nome from TabelaX where Nome like 'B%';
Espero que ajude.
Assinatura: http://www.imoveisemexposicao.com.br
- Sugerido como Resposta Durval RamosModerator sexta-feira, 19 de dezembro de 2014 13:24
- Marcado como Resposta Douglas Canto segunda-feira, 22 de dezembro de 2014 10:55
-
Bom dia,
Você pode utilizar um uma consulta dentro das cláusulas da inserção, um Insert Select. Também é viável através do Select Into, criando a tabela a partir do Select.
No caso do seu exemplo ficaria parecido com esse modelo:
INSERT INTO Z (COD_ID, NOME_A, APELIDO)
SELECT COD_ID, NOME_A, APELIDO FROM Y
OU
SELECT COD_ID, NOME_A, APELIDO INTO Z FROM Y
Dê uma olhada para mais informações:
http://technet.microsoft.com/pt-br/library/ms188263%28v=sql.105%29.aspx
http://technet.microsoft.com/pt-br/library/ms190750%28v=sql.105%29.aspx
Att, Bruno Silva.