/ / Mettre à jour plusieurs lignes de table dans une colonne avec des valeurs différentes - sql

Mettre à jour plusieurs lignes de table dans une colonne avec des valeurs différentes - sql

J'ai plusieurs lignes dont j'ai besoin pour mettre à jour et insérer les noms de clients. Comment puis-je faire cela dans une requête plutôt que d'exécuter encore et encore une requête semblable à celle ci-dessous avec des noms différents?

UPDATE orders
SET cust_name = "Sue"
WHERE p_id = 6

Réponses:

3 pour la réponse № 1

Vous pouvez utiliser quelque chose comme

    UPDATE mytable
SET myfield = CASE other_field
WHEN 1 THEN "value"
WHEN 2 THEN "value"
WHEN 3 THEN "value"
END
WHERE id IN (1,2,3)

Pour plus d'informations, consultez Mettre à jour plusieurs lignes avec différentes valeurs et une seule requête SQL


0 pour la réponse № 2

Vous pouvez généralement "t. Au moins, MySQL, DB2, SQL Server et PostgreSQL ne prennent pas en charge les requêtes dans lesquelles différentes clauses WHERE s’appliquent à différentes clauses SET.

Vous n'avez pas non plus besoin de. Ce que vous pouvez généralement faire est d’utiliser une instruction préparée avec des espaces réservés pour les variables, que vous exécutez avec une liste de nuplets de paramètres. Selon la langue, l'adaptateur de base de données et la base de données, cette opération peut être exécutée en mode "batch", ce qui est très efficace.

Plus de précision nécessite plus d'informations sur la langue, la base de données et l'adaptateur de base de données que vous utilisez.