Instruction UPDATE

L'instruction UPDATE permet de modifier les enregistrements d'une table de base de données. La syntaxe de l'instruction UPDATE est la suivante :

Copier
UPDATE nom_table SET nom_col = expr, ... [ WHERE { conditions } ]

nom_col est le nom d'une colonne dont la valeur doit être modifiée. Vous pouvez modifier plusieurs colonnes dans la même instruction.

expr est la nouvelle valeur de la colonne.

Généralement, les expressions sont les valeurs constantes des colonnes (mais il peut également s'agir d'une sous-requête). Les valeurs de type chaîne de caractères doivent être placées entre guillemets simples ('). Pour inclure un guillemet simple (correspondant à une apostrophe) dans une valeur de type chaîne de caractères placée entre guillemets simples, utilisez deux guillemets simples consécutifs (par exemple 'L''instance').

Les sous-requêtes doivent être entre parenthèses.

La clause WHERE peut être toute clause valide. Elle détermine les enregistrements à modifier.

Exemple

Appliquer l'instruction UPDATE à la table emp.

Copier
UPDATE emp SET salaire=32000, exempt=1 WHERE id_emp = 'E10001'

Cette instruction UPDATE a pour effet de modifier chaque enregistrement réunissant les conditions définies dans la clause WHERE. Ici, il s'agit de changer le salaire et le statut d'exemption pour tous les employés dont l'ID est E10001. Les ID des employés étant uniques dans la table Employés, un seul enregistrement est mis à jour.

Exemple

Appliquer l'instruction UPDATE à la table emp avec une sous-requête.

Copier
UPDATE emp SET salaire = (SELECT avg(salaire) from emp) WHERE id_emp = 'E10001'

Ici, le salaire dont l'ID d'employé est E10001 est remplacé par le salaire moyen de la société.

Important  

Dans les types de données de conteneur, vous ne pouvez utiliser UPDATE qu'avec du texte, à moins de préparer une déclaration paramétrée et de générer le flux de données depuis votre application. Pour utiliser des données binaires, vous pouvez simplement assigner le nom de fichier en l'insérant entre des guillemets simples ou utiliser la fonction PutAs(). Lorsque vous spécifiez un nom de fichier, le type de fichier est déduit de l'extension de fichier :

Copier
UPDATE nom_table SET (nom_conteneur) = ? AS 'nomfichier.extension fichier'

Les types de fichiers non pris en charge seront insérés en tant que type FILE.

Lorsque vous utilisez la fonction PutAs(), indiquez le type : PutAs(col, 'type'), où la valeur du type est un type de fichier pris en charge comme décrit dans la section Récupération du contenu d'une rubrique Conteneur : fonctions CAST() et GetAs().