Heim > Datenbank > MySQL-Tutorial > Wie kann ich mehrere Zeilen in PostgreSQL mit einer einzigen Abfrage aktualisieren?

Wie kann ich mehrere Zeilen in PostgreSQL mit einer einzigen Abfrage aktualisieren?

Linda Hamilton
Freigeben: 2025-01-12 22:52:42
Original
367 Leute haben es durchsucht

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

Effizientes Aktualisieren mehrerer Zeilen in PostgreSQL

PostgreSQL bietet leistungsstarke Methoden zum gleichzeitigen Aktualisieren mehrerer Zeilen und vermeidet so die Einschränkungen von Standard-Update-Anweisungen. Dieser Leitfaden zeigt einen äußerst effektiven Ansatz.

Methode: Nutzung der UPDATE ... FROM-Klausel

Die UPDATE ... FROM-Syntax bietet eine saubere und effiziente Möglichkeit, mehrere Zeilen basierend auf Daten aus einer anderen Quelle zu aktualisieren. Dieser „Zuordnungstabellen“-Ansatz vereinfacht das gleichzeitige Aktualisieren mehrerer Spalten.

Um beispielsweise column_a-Werte basierend auf entsprechenden column_b-Werten zu aktualisieren:

<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>
Nach dem Login kopieren

Diese Abfrage verwendet eine VALUES-Klausel, um die Zuordnungstabelle zu erstellen. Das Erweitern zur Aktualisierung mehrerer Spalten ist unkompliziert:

<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>
Nach dem Login kopieren

Diese Technik bietet eine skalierbare und flexible Lösung zum Aktualisieren mehrerer Zeilen in PostgreSQL mit einer einzigen, prägnanten Abfrage.

Das obige ist der detaillierte Inhalt vonWie kann ich mehrere Zeilen in PostgreSQL mit einer einzigen Abfrage aktualisieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage