VALUES Expressão 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)