Instru????o INSERT

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 Consulta.

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.

Conceitos relacionados
Intera????o com o sistema de depend??ncias
Instru????es CREATE
Instru????es DROP
Instru????es RENAME
Instru????es SET
Refer??ncias relacionadas
Instru????o ALTER TABLE
CALL (PROCEDIMENTO)
Cl??usula CONSTRAINT
Instru????o DECLARE GLOBAL TEMPORARY TABLE
Instru????o DELETE
Cl??usula FOR UPDATE
Cl??usula FROM
Cl??usula GROUP BY
Cl??usula HAVING
INNER JOIN
Opera????o JOIN
LEFT OUTER JOIN
Instru????o LOCK TABLE
Cl??usula ORDER BY
Consulta
RIGHT OUTER JOIN
SubconsultaEscalar
Express??oSele????o
Instru????o SELECT
Express??oTabela
SubconsultaTabela
Instru????o UPDATE
VALUES Express??o
Cl??usula WHERE
Cl??usula WHERE CURRENT OF