No Oracle, a instrução INSERT é usada para adicionar um único registro ou vários registros à tabela.
Sintaxe: (Inserindo um único registro usando a palavra-chave Values):
INSERT INTO table (column1, column2, ... column_n ) VALUES (expression1, expression2, ... expression_n );
Sintaxe: (Inserindo vários registros usando uma instrução SELECT):
INSERT INTO table (column1, column2, ... column_n ) SELECT expression1, expression2, ... expression_n FROM source_table WHERE conditions;
Parâmetros:
1) mesa: A tabela na qual inserir os registros.
2) coluna1, coluna2, ... coluna_n:
As colunas da tabela para inserir valores.
3) expressão1, expressão2, ... expressão_n:
Os valores a serem atribuídos às colunas da tabela. Portanto, à coluna1 seria atribuído o valor de expressão1, à coluna2 seria atribuído o valor de expressão2 e assim por diante.
4) tabela_fonte:
A tabela de origem ao inserir dados de outra tabela.
5) condições:
As condições que devem ser atendidas para que os registros sejam inseridos.
Exemplo de inserção Oracle: por palavra-chave VALUE
É a maneira mais simples de inserir elementos em um banco de dados usando a palavra-chave VALUE.
Veja este exemplo:
Considere aqui a tabela de fornecedores já criada. Adicione uma nova linha onde o valor de Supplier_id seja 23 e Supplier_name seja Flipkart.
Veja este exemplo:INSERT INTO suppliers (supplier_id, supplier_name) VALUES (50, 'Flipkart');Saída:
1 row(s) inserted. 0.02 seconds
Exemplo de inserção do Oracle: por instrução SELECT
Este método é utilizado para casos de inserção mais complicados. Neste método a inserção é feita pela instrução SELECT. Este método é usado para inserir vários elementos.
Veja este exemplo:Neste método, inserimos valores na tabela 'fornecedores' da tabela 'clientes'. Ambas as tabelas já estão criadas com suas respectivas colunas.
Execute esta consulta:INSERT INTO suppliers (supplier_id, supplier_name) SELECT age, address FROM customers WHERE age > 20;Saída:
4 row(s) inserted. <p>0.00 seconds </p>
Você pode até verificar o número de linhas que deseja inserir seguindo a seguinte instrução:
SELECT count(*) FROM customers WHERE age > 20;Saída:
Count(*) 4