Maison >base de données >tutoriel mysql >Comment puis-je mettre à jour plusieurs lignes dans PostgreSQL avec une seule requête ?
Mise à jour efficace de plusieurs lignes dans PostgreSQL
PostgreSQL propose des méthodes puissantes pour mettre à jour plusieurs lignes simultanément, évitant ainsi les limitations des instructions de mise à jour standard. Ce guide démontre une approche très efficace.
Méthode : tirer parti de la clause UPDATE ... FROM
La syntaxe UPDATE ... FROM
fournit un moyen propre et efficace de mettre à jour plusieurs lignes en fonction des données provenant d'une autre source. Cette approche de « table de mappage » simplifie le processus de mise à jour de plusieurs colonnes à la fois.
Par exemple, pour mettre à jour les valeurs column_a
en fonction des valeurs column_b
correspondantes :
<code class="language-sql">UPDATE test AS t SET column_a = c.column_a FROM (VALUES ('123', 1), ('345', 2) ) AS c(column_b, column_a) WHERE c.column_b = t.column_b;</code>
Cette requête utilise une clause VALUES
pour créer la table de mappage. L'étendre pour mettre à jour plusieurs colonnes est simple :
<code class="language-sql">UPDATE test AS t SET column_a = c.column_a, column_c = c.column_c FROM (VALUES ('123', 1, '---'), ('345', 2, '+++') ) AS c(column_b, column_a, column_c) WHERE c.column_b = t.column_b;</code>
Cette technique offre une solution évolutive et flexible pour mettre à jour plusieurs lignes dans PostgreSQL avec une seule requête concise.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!