Heim >Datenbank >MySQL-Tutorial >Wie kann Multi-Column RETURNING PostgreSQL-Einfügungen über mehrere Tabellen hinweg verbessern?
Verwendung von mehrspaltigem RETURNING für effiziente PostgreSQL-Einfügungen
In der Welt der Datenverwaltung die Möglichkeit, mehrere Einfügungen mit einem einzigen RETURNING durchzuführen Die Klausel kann den Betrieb rationalisieren und die Effizienz steigern. Dieser Artikel befasst sich mit den Feinheiten von Mehrfacheinfügevorgängen mit PostgreSQL 9.3 und zeigt, wie Sie Daten nahtlos in mehrere untergeordnete Tabellen einfügen und gleichzeitig die neu generierte ID abrufen können.
Das Szenario umfasst drei Tabellen:
Die vorliegende Aufgabe besteht darin, Daten in Tabelle1 einzufügen und Füllen Sie gleichzeitig die Spalten „user_id“ in Tabelle2 und Tabelle3 mit der neu generierten Benutzer-ID.
Um dies zu erreichen, verwenden wir Datenmodifizierende Common Table Expressions (CTEs). Mithilfe von CTEs können wir mehrere SQL-Anweisungen zu einer einzigen Einheit kombinieren und so den Einfügeprozess optimieren. Hier ist eine detaillierte Aufschlüsselung der CTE-Implementierung:
WITH ins1 AS ( -- Insert into 'table1' INSERT INTO table1 (username, name, surname) VALUES ('johnee', 'john', 'smith') RETURNING user_id ), ins2 AS ( -- Insert into 'table2' with 'user_id' from 'ins1' INSERT INTO table2 (user_id, password) SELECT ins1.user_id, 'secret' FROM ins1 -- No need to return anything here ) INSERT INTO table3 (user_id, adress, city, phone) -- Insert into 'table3' with 'user_id' from 'ins1' SELECT ins1.user_id, ... FROM ins1 RETURNING user_id;
Wichtige Implementierungsdetails:
Zusammenfassend lässt sich sagen, dass die Verwendung von Mehrfacheinfügungen mit RETURNING in PostgreSQL eine einzelne Stapeleinfügung über mehrere Tabellen hinweg ermöglicht. Reduzierung der Komplexität und Optimierung der Leistung. Datenmodifizierende CTEs bieten eine praktische Möglichkeit, dies zu erreichen, und bieten eine äußerst zuverlässige und effiziente Lösung für komplexe Dateneinfügungs-Workflows.
Das obige ist der detaillierte Inhalt vonWie kann Multi-Column RETURNING PostgreSQL-Einfügungen über mehrere Tabellen hinweg verbessern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!