Verkettung mehrerer INSERTs mit RETURNING in PostgreSQL
Beim Arbeiten mit hierarchischen Datenbankstrukturen ist es oft notwendig, Daten in mehrere Tabellen mit Abhängigkeiten einzufügen. In PostgreSQL bietet eine Kombination aus datenmodifizierenden CTEs und der RETURNING-Klausel eine effiziente Lösung.
Um eine neue Zeile in die übergeordnete Tabelle Tabelle1 einzufügen und die relevanten Zeilen in den untergeordneten Tabellen Tabelle2 und Tabelle3 zu füllen, befolgen Sie diese Anweisungen Schritte:
WITH ins1 AS ( INSERT INTO table1 (username, name, surname) VALUES ('johnee','john','smith') RETURNING user_id ) , ins2 AS ( INSERT INTO table2 (user_id, password) SELECT ins1.user_id, 'secret' FROM ins1 ) INSERT INTO table3 (user_id, adress, city, phone) SELECT ins1.user_id, ... FROM ins1 RETURNING user_id;
Aufschlüsselung des CTE Kette:
Vorteile der Verwendung datenmodifizierender CTEs:
Das obige ist der detaillierte Inhalt vonWie kann ich mehrere INSERT-Anweisungen effizient mit RETURNING in PostgreSQL verketten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!