Maison > base de données > tutoriel mysql > Comment puis-je mettre à jour plusieurs lignes dans PostgreSQL avec une seule requête ?

Comment puis-je mettre à jour plusieurs lignes dans PostgreSQL avec une seule requête ?

Linda Hamilton
Libérer: 2025-01-12 22:52:42
original
371 Les gens l'ont consulté

How Can I Update Multiple Rows in PostgreSQL with a Single Query?

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>
Copier après la connexion

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>
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal