AGGIORNA

Utilizzare il comando UPDATE per sostituire i valori in colonne specifiche della tabella. Non è possibile aggiornare le colonne utilizzate come chiavi di distribuzione per una tabella.

Sintassi

Sintassi per l'utilizzo del comando UPDATE:
UPDATE <table> SET <col> = <expression>[,<expression>…]
    [ FROM <fromlist> ]
    [ WHERE <condition> ]

Input

Il comando UPDATE riceve i seguenti input:

Tabella 1. AGGIORNARE gli input
Immissione Descrizione
<table> Il nome della tabella in cui le righe devono essere aggiornate. È possibile utilizzare un alias di tabella. Ad esempio:
UPDATE tablename t1 SET t1.c2='new value' WHERE t1.c1=1;
<col> Il nome di una colonna di una tabella.
<expression> Specifica un'espressione o un valore valido da assegnare alla colonna.
<da elenco> Specifica le colonne di altre tabelle per la condizione WHERE. Quando si usa la clausola FROM, la join interna è implicita e la condizione di join deve essere specificata nella clausola WHERE. Se sono necessarie delle giunzioni esterne, potrebbero essere necessarie delle sotto-selezioni o delle tabelle di staging/temporanee per specificare le condizioni di giunzione necessarie.
<condition> Specifica una condizione WHERE.

Emissione

Il comando UPDATE ha il seguente risultato:
Tabella 2. AGGIORNARE l'uscita
Emissione Descrizione
UPDATE <number> Il comando ha avuto successo e <numero> rappresenta il numero di righe aggiornate (potrebbe essere zero).

Privilegi

È necessario essere l'utente amministratore, il proprietario della tabella, il proprietario del database o dello schema in cui risiede la tabella, oppure l'account deve avere il privilegio Update per la tabella o per la classe di oggetti Table.

Utilizzo

Di seguito sono riportati alcuni esempi di utilizzo.
  • Cambiare la parola Drama in Dramatic nella colonna 'kind:
    MYDB.SCH1(USER)=> UPDATE films SET kind = 'Dramatic' WHERE kind = 
    'Drama';
    MYDB.SCH1(USER)=> SELECT * FROM films WHERE kind = 'Dramatic' OR 
    kind = 'Drama';
    code   | title         | did   | date_prod   | kind       | len
    -------+---------------+-------+-------------+------------+------
    BL101  | The Third Man | 101   | 1949-12-23  | Dramatic   | 01:44
    P_302  | Becket        | 103   | 1964-02-03  | Dramatic   | 02:28
    M_401  | War and Peace | 104   | 1967-02-12  | Dramatic   | 05:57
    T_601  | Yojimbo       | 106   | 1961-06-16  | Dramatic   | 01:50