INSERT no Oracle - Exemplos para implementar a instrução INSERT no Oracle

Índice:

Anonim

Introdução ao INSERT no Oracle

Neste artigo, vamos aprender sobre a consulta INSERT no ORACLE. Como o nome sugere, a consulta INSERT é usada para adicionar / inserir registros únicos ou múltiplos em uma tabela. É uma declaração DML. DML significa manipulação de dados. É uma das consultas Oracle usadas com freqüência para solucionar problemas. Um ponto a ser observado é que, ao usar INSERT, devemos fornecer um valor para cada coluna NOT NULL, mas se a coluna permitir valores NULL, podemos omitir a coluna.

Sintaxe

A consulta INSERT possui uma sintaxe bastante simples, como veremos abaixo,

  • Inserir um único registro usando a palavra-chave VALUES.

Sintaxe:

INSERT INTO table_name
(column1, column2, ……, column_n)
VALUES
(expression1, expression2, expression3, expression_n);

  • Inserir vários registros usando a palavra-chave SELECT.

Sintaxe:

INSERT INTO table_name
(column1, column2, ……, column_n)
SELECT expression_1, expression_2, ……., expression_n
FROM source_table
(WHERE conditions);

Parâmetros da instrução INSERT no Oracle

Abaixo estão os diferentes parâmetros da instrução INSERT no Oracle:

  • nome_tabela: O nome da tabela na qual queremos inserir os valores.
  • (coluna1, coluna2, ……, coluna_n): colunas nas quais queremos inserir valores
  • (expressão1, expressão2, expressão3, expressão_n): existem os valores que queremos inserir nas respectivas colunas.
  • source_table: Esta é a tabela de onde extraímos dados para inserir na tabela atual.
  • (where condition): esta condição é opcional. É usado quando queremos inserir dados com base em alguma condição.

Exemplos para implementar a instrução INSERT no Oracle

A seguir estão os diferentes exemplos para implementar a instrução insert no oracle:

Exemplo # 1 - INSERIR usando a palavra-chave VALUES

Essa é a maneira mais fácil de usar o comando INSERT. Nesse caso, basicamente inserimos valores, fornecendo valores reais de acordo com as colunas. Podemos usá-lo nos dois sentidos, fornecendo as colunas nas quais queremos entrar ou sem fornecer as colunas. Se fornecermos as colunas, os valores serão inseridos conforme a ordem das colunas que fornecemos. Examinaremos os dois lados com a ajuda de exemplos.

Inquerir:

INSERT INTO employee (employee_id, name, vehicle_name) VALUES('AD010', 'Sharmishtha', 'Hector');

Agora deixamos uma coluna aqui, que é vehicle_id. Então, automaticamente nulo será inserido nele.

A imagem abaixo mostra os dados da tabela após a inserção dos dados.

Como você pode ver, a última coluna no último registro é nula. Agora não mencionaremos as colunas, basta usar a palavra-chave VALUES com INSERT.

Inquerir:

INSERT INTO employee VALUES('AD011', 'Shweta', 'Lexus', 'VH011');

Como você pode ver, não fornecemos as colunas. Vejamos os valores da tabela após executar o comando insert.

Como você pode ver, o último registro foi inserido na tabela após a execução da consulta INSERT.

Exemplo # 2 - INSERIR usando uma palavra-chave SELECT com a condição

Isso é muito útil quando queremos fazer várias inserções em uma tabela. Nisso, usamos uma instrução SELECT para inserir dados em nossa tabela extraindo dados de outra tabela. Também podemos colocar condições na consulta se queremos que os dados sejam inseridos com base em alguma condição.

Veremos alguns exemplos abaixo, que nos mostram como usar INSERT com SELECT.

Inquerir:

INSERT INTO vehicle(vehicle_id, VEHICLE_NAME) SELECT vehicle_id, vehicle_name from employee where Vehicle_name = 'Lexus';

Na consulta acima, na verdade, estamos inserindo no veículo da tabela extraindo dados de outro funcionário da tabela com base na condição de que apenas os registros que têm valor como Lexus na coluna vehicle_name dos funcionários da tabela são elegíveis para serem extraídos e inseridos no mesa de veículo. Portanto, quando executamos a consulta acima, todos os registros que possuem vehicle_name como Lexus na tabela employee serão inseridos na tabela vehicle. No nosso caso, tínhamos apenas um registro assim; se você vir a captura de tela, verá que o console diz "1 registro inserido".

Exemplo # 3 - Usando INSERT ALL em uma única tabela

Essa declaração é usada quando queremos adicionar vários registros em uma única tabela usando uma única instrução INSERT. Em vez de usar INTO, vamos usar ALL INTO com INSERT para conseguir isso. Como exemplo, suponha que tenhamos um veículo de tabela e desejemos inserir dois registros nele. Se usarmos INSERT INTO, teremos que escrever duas consultas de inserção, mas com INSERT ALL, só precisamos escrever uma consulta. Vamos olhar para a consulta para isso

Inquerir:

INSERT ALL
INTO vehicle(vehicle_id, vehicle_name) VALUES('VH007', TATA)
INTO vehicle(vehicle_id, vehicle_name) VALUES('VH008', 'Mahindra')
SELECT * FROM dual;

Como você pode ver na consulta acima, estamos inserindo dois registros usando uma única instrução INSERT. Se tivéssemos escrito a mesma consulta usando a instrução INSERT INTO, teria sido como está escrito abaixo,

INSERT INTO vehicle(vehicle_id, vehicle_name) VALUES('VH007', TATA)
INSERT INTO vehicle(vehicle_id, vehicle_name) VALUES('VH008', 'Mahindra')

Resultado:

Como você pode ver na execução, o console de consulta fornece uma saída que “2 linhas inseridas”.

Exemplo # 4 - Usando INSERT ALL em várias tabelas

Também podemos usar a instrução INSERT ALL para inserir dados em várias tabelas. A sintaxe será a mesma e só precisamos substituir os nomes das tabelas e suas colunas e valores correspondentes. Suponha, por exemplo, se quisermos inserir dados nos funcionários e na tabela de veículos, a consulta a seguir fará o trabalho.

Inquerir:

INSERT ALL
INTO vehicle(vehicle_id, vehicle_name) VALUES('VH009', 'Suzuki')
INTO employee(employee_id, name, vehicle_name, vehicle_id) VALUES('AD012', 'Suresh', 'Suzuki', 'VH009')
SELECT * FROM dual;

Como você pode ver na consulta acima, acabamos de alterar o nome da tabela e, consequentemente, suas colunas e valores. Se tivéssemos escrito a mesma consulta usando a instrução INSERT INTO, teria sido como está escrito abaixo,

INSERT INTO vehicle(vehicle_id, vehicle_name) VALUES('VH009', 'Suzuki');
INSERT INTO employee(employee_id, name, vehicle_name, vehicle_id) VALUES('AD012', 'Suresh', 'Suzuki', 'VH009');

Resultado:

Como você pode ver na execução, o console de consulta fornece uma saída que “2 linhas inseridas”.

Artigos recomendados

Este é um guia para INSERIR no Oracle. Neste artigo, discutimos o que é a instrução INSERT, sintaxes e várias maneiras pelas quais podemos usar a instrução INSERT juntamente com seus exemplos apropriados. Você também pode consultar os seguintes artigos para saber mais:

  1. Exemplos de consulta de inserção SQL
  2. Como a cláusula GROUP BY funciona no SQL?
  3. As 5 principais consultas do Oracle
  4. Guia completo para Oracle Data Warehousing