Oracle INSERT INTO SELECT (Português)

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 SELECTa 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

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *