Translate

terça-feira, 29 de outubro de 2013

INSERT INTO SELECT

Utilizando sql, você pode copiar dados de uma tabela para uma outra tabela.
Para facilitar a compreensão da utilização do "INSERT INTO SELECT", vamos descrever um exemplo:
Cenário: uma loja quer fazer uma promoção para os produto que vão vencer até o dia 28/11/2013.
No nosso banco temos duas tabelas: "tb_produto" e "tb_vencimento".
A tabela "tb_produto" possui informações sobre os produtos e a tabela "tb_vencimento" inicialmente está vazia. Veja a imagem abaixo:

tb_produto

tb_vencimento

Selecionaremos os produtos da tabela "tb_produto" que vão vencer até o dia 28/11/2013 e incluiremos na tabela "tb_vencimento" 

Para efetuar este procedimento executaremos a sentença abaixo:

INSERT INTO tb_vencimento (produto_id, produto_desc, data)
SELECT produto_id, produto_desc, produto_vencimento FROM tb_produto 
WHERE produto_vencimento <= '2013-11-28';

Significado da sentença:
  • Insira nas colunas produto_id, produto_desc e data da tabela tb_vencimento           INSERT INTO tb_vencimento (produto_id, produto_desc, data)
  • O conteúdo das colunas produto_id, produto_desc e produto_vencimento da tabela "tb_produto"                                                                                                       SELECT produto_id, produto_desc, produto_vencimento FROM tb_produto
  • Onde a data de vencimento seja menor ou igual a 28/11/2013  WHERE produto_vencimento <= '2013-11-28'

Após a execução a tabela "tb_vencimento" já conterá os produtos que vão vencer até o dia 28/11/2013. Veja a imagem abaixo:

Nenhum comentário:

Postar um comentário