UPDATE

Name

UPDATE  --  met à jour les lignes d'une table.

Synopsis

UPDATE [ ONLY ] table SET col = expression [, ...]
    [ FROM fromlist ]
    [ WHERE condition ]
  

Entrées

table

Nom d'une table existante.

column

Nom d'une colonne dans une table.

expression

Une expression valide ou une valeur à assigner à une colonne.

fromlist

Une extension PostgreSQL non standard pour permettre aux colonnes des autres tables d'apparaître dans la condition WHERE.

condition

Voir l'instruction SELECT pour plus d'information sur la clause WHERE.

Sorties

UPDATE #

Message retourné si succès. Le # indique le nombre de lignes mises à jour. Si # est à 0 aucune ligne n'est mise à jour.

Description

UPDATE modifie les valeurs des colonnes spécifiées pour toutes les lignes qui satisfont la condition. Seules les colonnes à modifier nécessitent d'apparaître comme colonnes dans l'instruction.

Les références de tableaux utilisent la même syntaxe que dans SELECT. Ceci étant, soit des éléments d'u tableau unique, une série d'éléments de tableaux ou le tableau entier peuvent être replacés avec une requête unique.

Vous devez avoir l'accès en écriture à la table pour la modifier, de même qu'accès en lecture à n'importe quelle table dont les valeurs sont mentionnées dans la condition WHERE.

Par défaut UPDATE mettra à jour les tuples dans la table spécifiée et toutes ses sous-tables. Si vous voulez seulement mettre à jour la table spécifique mentionnée, vous devrez utiliser la clause ONLY.

Utilisation

Changer le mot Drama en Dramatic sur la colonne kind:

UPDATE films 
SET kind = 'Dramatic' 
WHERE kind = 'Drama';
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
 DA101 | Das Boot      | 110 | 1981-11-11 | Dramatic | 02:29

Compatibilité

SQL92

SQL92 définit une syntaxe différente pour l'instruction positionnée UPDATE :

UPDATE table SET column = expression [, ...]
    WHERE CURRENT OF cursor
    
cursor identifie un curseur ouvert.