Documentazione di PostgreSQL 9.0 > Il linguaggio SQL > Query > Elenci VALUES
PrecedenteLIMIT e OFFSETQuery WITHSuccessivo

7.7. Elenci VALUES

VALUES fornisce un modo per generare una «tabella costante» che possa essere usata in una query senza dovere effettivamente creare e popolare una tabella su disco. La sintassi è

VALUES ( expression [, ...] ) [, ...]

Ogni elenco tra parentesi di espressioni genera una riga nella tabella. Gli elenchi devono avere lo stesso numero di elementi (per es., il numero di colonne nella tabella), e le voci corrispondenti in ogni elenco devono avere tipi di dato compatibili. L'effettivo tipo di dato assegnato ad ogni colonna del risultato viene determinato usando le stesse regole della UNION (si veda Sezione 10.5, «UNION, CASE, and Related Constructs»).

As an example:

VALUES (1, 'one'), (2, 'two'), (3, 'three');

restituirà una tabella di due colonne e tre righe. È effettivamente equivalente a:

SELECT 1 AS column1, 'one' AS column2
UNION ALL
SELECT 2, 'two'
UNION ALL
SELECT 3, 'three';

In maniere predefinita, PostgreSQL™ assegna i nomi column1, column2 ecc. alle colonne di una tabella VALUES. I nomi delle colonne non sono specificati dallo standard SQL e sistemi di database diversi lo fanno in maniera diversa, per questo di solito è preferibile sovrascrivere i nomi predefiniti con un elenco di alias di tabella.

Sintatticamente, VALUES seguito da elenchi di espressioni viene trattato come equivalente a:

SELECT select_list FROM table_expression

e può apparire ovunque possa una SELECT. Per esempio, è possibile usarlo come parte di una UNION, o aggiungerci una sort_specification (ORDER BY, LIMIT, e/o OFFSET). VALUES è usato comunemente come sorgente di dati in un comando INSERT, ed anche come sottoquery.

Per maggiori informazioni si veda VALUES(7).

Documentazione di PostgreSQL 9.0 > Il linguaggio SQL > Query > Elenci VALUES
PrecedenteLIMIT e OFFSETQuery WITHSuccessivo