Instrução INSERT Instrução INSERT

VTIs de leitura/escritae INSERTs A instrução INSERT cria uma ou mais linhas, e as armazena na tabela especificada. O número de valores especificados na instrução INSERT deve ser idêntico ao número de colunas especificadas ou implícitas.

Sintaxe INSERT INTO nome-da-tabela [ (nome-de-coluna-simples [ , nome-de-coluna-simples]* ) ] Consulta

A Consulta pode ser:

  • uma ExpressãoSeleção
  • uma lista VALUES
  • uma expressão VALUES de várias linhas

    As listas de uma única linha e de várias linhas podem incluir a palavra chave DEFAULT. A especificação de DEFAULT para uma coluna insere o valor padrão da coluna na coluna. Outra forma de inserir o valor padrão na coluna é omitir a coluna na lista de colunas, e somente inserir valores nas outras colunas da tabela. Para obter mais informações deve ser consultado VALUES Expressão.

  • expressões UNION

Para obter mais informações sobre a Consulta deve ser consultada .

INSERT INTO PAÍSES VALUES ('Taiwan', 'TW', 'Ásia'); -- Inserir um novo departamento na tabela DEPARTAMENTOS, -- sem atribuir gerente ao novo departamento INSERT INTO DEPARTAMENTOS (NUM_DEP, NOME_DEP, ADMRDEPT) VALUES ('E31', 'ARQUITETURA', 'E01'); -- Inserir dois novos departamentos na tabela DEPARTAMENTOS -- utilizando uma instrução, como no exemplo anterior, -- sem atribuir gerente aos novos departamentos. INSERT INTO DEPARTAMENTOS (NUM_DEP, NOME_DEP, ADMRDEPT) VALUES ('B11', 'COMPRAS', 'B01'), ('E41', 'ADMINISTRAÇÃO DE BANCO DE DADOS', 'E01'); -- Criar a tabela temporária MA_ATIV_EMP com as mesmas -- colunas da tabela ATIV_EMP. -- Carregar a tabela MA_ATIV_EMP com as linhas da tabela ATIV_EMP -- onde o número do projeto (NUM_PROJ) -- começa pelas letras 'MA'. CREATE TABLE MA_ATIV_EMP ( NUM_EMP CHAR(6) NOT NULL, NUM_PROJ CHAR(6) NOT NULL, ACTNO SMALLINT NOT NULL, EMPTIME DEC(5,2), EMSTDATE DATE, EMENDATE DATE ); INSERT INTO MA_ATIV_EMP SELECT * FROM ATIV_EMP WHERE SUBSTR(NUM_PROJ, 1, 2) = 'MA'; -- Inserir o valor DEFAULT para a coluna LOCALIZAÇÃO INSERT INTO DEPARTAMENTOS VALUES ('E31', 'ARQUITETURA', '00390', 'E01', DEFAULT);
Sistema de dependência de instrução

A instrução INSERT depende da tabela onde está sendo feita a inserção, todos os seus conglomerados (unidades de armazenamento como heaps e índices), e todas as outras tabelas citadas na consulta. Qualquer instrução que cria ou remove um índice ou uma restrição da tabela de destino de uma instrução INSERT preparada, invalida a instrução INSERT preparada.