8i | 9i | 10g | 11g | 12c | 13c | 18c | 19c | 21c | Misc | PL/SQL | SQL | RAC | WebLogic | Linux

Home “Artigos” Diversos ” Aqui

Esta é a oitava parte de uma série de artigos mostrando os conceitos básicos de SQL. Neste artigo damos uma olhada em algumas das variações na declaração INSERT.,

  • Setup
  • COMMIT and ROLLBACK
  • Basic INSERT
  • INSERT into View
  • INSERT … Seleccionar as Subquotas escalar

artigos relacionados.

  • SQL para iniciantes (Parte 8) : a declaração de inserção
  • SQL para iniciantes – Playlist completa
  • Oracle SQL Articles – Getting Started
  • Multitable Inserts

Setup

pode executar todas estas consultas online gratuitamente usando a Fiddle SQL.

os exemplos deste artigo requerem a presença das seguintes tabelas.,

estas tabelas são uma variante das tabelas EMP e DEPT do esquema SCOTT. Você vai ver um monte de exemplos Oracle na internet usando as tabelas do Scott schema. Você pode encontrar as definições originais da tabela no ” $ORACLE_HOME/rdbms/admin / utlsampl.script sql”.neste artigo, também vamos precisar da seguinte cópia da tabela de empregados. Repare que tornámos obrigatórias as colunas emprego e emprego. A coluna EMPLOYEE_ID é implicitamente obrigatória, como resultado de ser a chave primária.,

COMMIT and ROLLBACK

Todas as alterações da linguagem de manipulação de dados (DML) são feitas como parte de uma transacção. Eles não são permanentes até que sejam confirmados usando a declaração COMMIT. Uma vez Comprometido, a única maneira que você pode reverter uma alteração é emitir uma nova declaração DML para alterar os dados. Várias declarações podem ser agrupadas para formar uma única transação.os comandos da linguagem de definição de dados (DDL) executam um commit implícito, o que também confirma Todas as alterações DML pendentes na sessão atual.,se decidir que não quer manter algumas alterações por persistir, pode deitá-las fora utilizando a frase ROLLBACK. Muitos dos exemplos deste artigo irão emitirROLLBACK declarações após o ensaio, para reverter os dados ao seu estado original.

algumas ferramentas e linguagens de programação padrão para auto-commit, então eles automaticamente emitem um id

declaração após cada declaração DML que eles processam. Não deixes que isto te engane a pensar que isto é um comportamento padrão. Não é.,

basic INSERT

The simplest version of the INSERT statement doesn’t specify the columns to be inserted. Assume que os valores são especificados na ordem correcta da coluna e que não foram omitidos valores da coluna. Como resultado, isso é perigoso no código de aplicação, uma vez que adicionar uma coluna à tabela irá quebrar a declaração.

especificar uma lista de colunas é muito mais seguro, uma vez que a declaração não irá quebrar se as colunas opcionais forem adicionadas à tabela.,

uma lista explícita de colunas também lhe permite remover colunas opcionais da instrução e trocar as posições das colunas na instrução. No exemplo seguinte, as colunas MANAGER_ID, COMMISSION e DEPARTMENT_ID foram removidas e a coluna EMPLOYEE_ID foi movida para o fim da lista de colunas e da lista de valores.

lembre-se que não são permitidas colunas obrigatórias, a menos que tenha valores predefinidos da coluna ou gatilhos que as povoam. No exemplo seguinte, a coluna da tarefa é omitida, que é uma coluna obrigatória na tabela emprego 2.,

inserir nas vistas

é possível inserir na tabela de base associada a uma vista. Existem algumas restrições associadas a isso, mas eles estão um pouco fora de âmbito para um artigo de nível iniciante. No exemplo a seguir, criamos uma visão simples sobre a tabela EMPREGEES2, então inserimos nela.

não o verá muitas vezes, mas também poderá inserir nas vistas incorporadas. Isto pode ser usado para controlar a lista de colunas para a inserção, em vez de usar uma lista de colunas explícita.

inserir …, Selecione

é possível criar várias linhas em um único INSERT declaração usando o INSERT ... SELECT sintaxe. O exemplo seguinte copia todos os dados da tabela de empregados para a tabela emprego 2.

a lista de colunas na lista INSERT deve corresponder à listaSELECT na consulta.

as regras normais aplicam-se à parte da consulta da instrução, para que possa filtrar os dados ou juntar-se a outras tabelas para recolher os dados.,

Subqueries Scalar

subqueries Scalar pode ser usado para obter um valor para uma declaração de

. No exemplo abaixo, a coluna salarial é povoada por um subquery escalar, que retorna o salário máximo da tabela de funcionários e adiciona 1000 a ele.

para mais informações, ver: