SQL generare valori


Esempio

La maggior parte dei database non ha un modo nativo di generare una serie di numeri per l'uso ad-hoc; tuttavia, le espressioni di tabella comuni possono essere utilizzate con la ricorsione per emulare tale tipo di funzione.

L'esempio seguente genera un'espressione di tabella comune denominata Numbers con una colonna i che ha una riga per i numeri 1-5:

--Give a table name `Numbers" and a column `i` to hold the numbers
WITH Numbers(i) AS (
    --Starting number/index
    SELECT 1
    --Top-level UNION ALL operator required for recursion
    UNION ALL
    --Iteration expression:
    SELECT i + 1
    --Table expression we first declared used as source for recursion
    FROM Numbers
    --Clause to define the end of the recursion
    WHERE i < 5
)
--Use the generated table expression like a regular table
SELECT i FROM Numbers;
io
1
2
3
4
5

Questo metodo può essere utilizzato con qualsiasi intervallo di numeri, nonché con altri tipi di dati.