VALUES Express??o

"VALUES Express??o" permite construir uma linha ou uma tabela a partir de valores. A instru????o VALUES ?? utilizada quando n??o existe uma cl??usula FROM. Esta constru????o pode ser utilizada em todos os locais onde uma consulta pode ser utilizada e, portanto, pode ser utilizada como uma instru????o que retorna um ResultSet, dentro de express??es e instru????es sempre que uma subconsulta for permitida, e como fonte de valores para a instru????o INSERT.

Sintaxe

{
    VALUES ( Valor {, Valor }* )
        [ , ( Valor {, Valor }* ) ]* |
    VALUES Valor [ , Valor ]* |
 }

A primeira forma constr??i linhas com v??rias colunas. A segunda forma constr??i linhas com uma ??nica coluna, com cada express??o sendo o valor da coluna da linha.

A palavra chave DEFAULT ?? permitida somente quando a express??o VALUES est?? em uma instru????o INSERT. A especifica????o de DEFAULT para a 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.

-- 3 linhas de 1 coluna
VALUES (1),(2),(3);

-- 3 linhas de 1 coluna
VALUES 1, 2, 3;

-- 1 linha de 3 colunas
VALUES (1, 2, 3);

-- 3 linhas de 2 colunas
VALUES (1,21),(2,22),(3,23);

-- constru????o de uma tabela derivada
VALUES ('laranja', 'laranja'), ('ma????', 'vermelha'),
('banana', 'amarela')

-- Inserir dois novos departamentos na tabela DEPARTAMENTOS
-- utilizando uma instru????o, mas n??o 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')

-- inserir uma linha com valor DEFAULT para a coluna PROJ_PRINC
INSERT INTO PROJETO (NUM_PROJ, NOME_PROJ, NUM_DEP, EMP_RESP,
    PROJ_DATA_IN??CIO, PROJ_PRINC)
VALUES ('PL2101', 'ENSURE COMPAT PLAN', 'B01', '000020',
    CURRENT_DATE, DEFAULT);

-- utiliza????o de fun????o nativa
VALUES CURRENT_DATE

-- obter o valor a partir de uma express??o arbitr??ria
VALUES (3*29, 26.0E0/3)

-- obter o valor retornado por uma fun????o nativa
VALUES CHAR(1)

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
Instru????o INSERT
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
Cl??usula WHERE
Cl??usula WHERE CURRENT OF