Resumo: neste tutorial, você vai aprender como usar o Oracle INSERT INTO SELECT
instrução para inserir dados em uma tabela a partir do resultado da SELECT
instrução.
Visão Geral do Oracle INSERT na instrução SELECT
às vezes, você quer selecionar dados de uma tabela e inseri-los em outra tabela., Para isso, você usa a declaração Oracle INSERT INTO SELECT
da seguinte forma:
o Oracle INSERT INTO SELECT
a declaração requer o tipo de dados da correspondência das tabelas fonte e alvo.
Se quiser copiar todas as linhas da tabela de origem para a tabela de destino, remova a cláusula WHERE
. Caso contrário, você pode especificar quais linhas da tabela de origem devem ser copiadas para a tabela de destino.,
Oracle inserir em SELECT examples
A) inserir todos os dados de vendas exemplo
vamos criar uma tabela chamada sales
para a demonstração.,
a instrução A seguir insere resumo de vendas a partir de orders
e order_items
tabelas sales
tabela:
a instrução A seguir recupera dados a partir de sales
tabela para verificar a inserção:
B) Inserir parcial de vendas de dados de exemplo
Suponha que você deseja copiar somente vendas resumo de dados em 2017 para uma nova tabela., Para fazer isso, primeiro, crie uma nova tabela denominada sales_2017
da seguinte forma:
A condição WHERE
cláusula garante que os dados de sales
tabela não é copiado para o sales_2017
tabela.,
em Segundo lugar, usar o Oracle INSERT INTO SELECT
com um WHERE
cláusula copiar 2017 dados de vendas para o sales_2017
tabela:
neste exemplo, nós não especificar a lista de colunas na INSERT INTO
cláusula porque o resultado de SELECT
instrução tem os valores que correspondem às colunas de sales_2017
tabela. Além disso, adicionamos uma condição mais na declaração WHERE
da cláusula SELECT
para obter apenas dados de vendas em 2017.,
a consulta A seguir seleciona todos os dados da tag sales_2017
tabela:
C) Inserir dados parciais e valor literal exemplo
Suponha que você deseja enviar e-mails para todos os clientes para anunciar novos produtos. Para fazê-lo, você pode copiar os dados do cliente para uma tabela separada e acompanhar o estado de envio de E-mail.,
Primeiro, crie uma nova tabela denominada customer_lists
da seguinte forma:
em Segundo lugar, copie os dados do contacts
tabela customer_lists
tabela:
neste exemplo, além de recuperar dados a partir de contacts
tabela, utilizou-se também literal 0 como o valor para o sent
coluna.,
O seguinte consulta obtém dados a partir de customer_lists
tabela:
Note que este exemplo é apenas para demonstração, você pode adicionar DEFAULT 0
para a definição de sent
coluna.
neste tutorial, você aprendeu a usar a instrução Oracle INSERT INTO SELECT
para inserir dados em uma tabela a partir do resultado de uma consulta.
- este tutorial foi útil?
- YesNo