Istruzione UPDATE

Utilizzare l'istruzione UPDATE per cambiare i record in una tabella di database. Il formato dell'istruzione UPDATE è:

Copia
UPDATE nome_tabella SET nome_colonna = expr, ... [ WHERE { condizioni } ]

nome_colonna è il nome di una colonna di cui si desidera modificare il valore. È possibile modificare più colonne in una singola istruzione.

expr è il nuovo valore della colonna.

In genere, le espressioni sono valori costanti per le colonne (ma possono anche essere una subquery). È necessario racchiudere i valori delle stringhe di caratteri tra coppie di virgolette singole ('). Per includere una virgoletta singola nel valore di una stringa di caratteri racchiusa tra virgolette singole, usare due virgolette singole insieme (ad esempio, 'L''aquilone').

Le subquery devono essere racchiuse tra parentesi.

La clausola WHERE può essere una qualsiasi clausola valida. Determina i record da aggiornare.

Esempio

Istruzione UPDATE eseguita sulla tabella dip.

Copia
UPDATE dip SET stipendio=32000; detrazioni=1 WHERE id_dip = 'E10001'

L'istruzione UPDATE modifica tutti i record che soddisfano le condizioni della clausola WHERE. In questo caso vengono modificati lo stipendio e lo stato delle detrazioni per tutti i dipendenti il cui codice è E10001. Poiché nella tabella Dipendenti i codici dei dipendenti sono unici, viene aggiornato un solo record.

Esempio

Istruzione UPDATE eseguita sulla tabella dip con una subquery.

Copia
UPDATE dip SET stipendio = (SELECT avg(stipendio) from dip) WHERE id_dip = 'E10001'

In questo caso lo stipendio del dipendente il cui codice è E10001 viene sostituito con lo stipendio medio della società.

Importante  

Nei campi Contenitore, è possibile aggiornare (UPDATE) solo con testo, a meno che si prepari un'istruzione parametrizzata e si effettui lo streaming dei dati dall'applicazione. Per utilizzare dati binari, è sufficiente assegnare il nome del file racchiudendolo tra virgolette singole o utilizzare la funzione PutAs(). Quando si specifica il nome file, il tipo file viene dedotto dall'estensione del file:

Copia
UPDATE nome_tabella SET (nome_contenitore)=? AS 'nome file.estensione file'

I tipi di file non supportati sono inseriti come tipo FILE.

Quando si utilizza la funzione PutAs(), specificare il tipo: PutAs(col, 'tipo'), dove il valore del tipo è un tipo file supportato come descritto in Recupero dei contenuti di un campo Contenitore: funzione CAST() e funzione RicavaCome().