Documentazione di PostgreSQL 9.0 > Il linguaggio SQL > Definizione dei dati > Valori di Default
PrecedenteDefinizione dei datiVincoliSuccessivo

5.2. Valori di Default

Ad una colonna può essere assegnato un valore di default. Quando una riga viene creata e non sono specificati valori per alcune colonne, queste verranno riempite con i loro rispettivi valori di default. Un comando di manipolazione dei dati può anche richiedere esplicitamente che una colonna sia impostata al suo valore di default, senza dover sapere che valore sia (dettagli riguardanti i comandi di manipolazione dei dati sono nel Capitolo 6, Manipolazione dei dati).

Se un valore di default non è dichiarato esplicitamente, il valore di default è il valore null. Ciò di solito ha senso in quanto un valore null può essere considerato rappresentativo di un dato non conosciuto o non definito.

Nella definizione di una tabella, i valori di default sono elencati dopo il tipo di dato della colonna. Per esempio:

CREATE TABLE products (
    product_no integer,
    name text,
    price numeric DEFAULT 9.99
);

Il valore di default può essere un'espressione, che verrà valutata ogniqualvolta il valore di default viene inserito (non quando la tabella viene creata). Un esempio molto comune è assegnare a una colonna di tipo timestamp un valore di default CURRENT_TIMESTAMP, che verrà impostato al momento dell'inserimento della riga. Un altro esempio comune è la generazione di un «numero di serie» per ogni riga. In PostgreSQL™ questo viene tipicamente fatto con qualcosa simile a:

CREATE TABLE products (
    product_no integer DEFAULT nextval('products_product_no_seq'),
    ...
);

dove la funzione nextval() fornisce valori successivi da una sequenza (si veda la Sezione 9.15, «Funzioni di manipolazione sequenze»). Questo espediente è talmente comune da avere una speciale scorciatoia:

CREATE TABLE products (
    product_no SERIAL,
    ...
);

L'abbreviazione SERIAL è discussa approfonditamente nella Sezione 8.1.4, «Tipi Serial».

Documentazione di PostgreSQL 9.0 > Il linguaggio SQL > Definizione dei dati > Valori di Default
PrecedenteDefinizione dei datiVincoliSuccessivo