


Einfügen mehrerer Zeilen mit den CTEs von PostgreSQL
Angenommen, Sie haben eine relationale Datenbank mit drei Tabellen: Tabelle1, Tabelle2 und Tabelle3. Tabelle 1 enthält allgemeine Benutzerinformationen, während die Tabellen 2 und 3 zusätzliche Daten wie Passwörter und Adressen enthalten. Wenn Sie einen neuen Benutzer in Tabelle 1 hinzufügen, möchten Sie gleichzeitig die Benutzer-ID und andere eindeutige Daten in die untergeordneten Tabellen Tabelle 2 und Tabelle 3 einfügen.
Postgres 9.3 bietet datenmodifizierende CTEs eine Lösung für dieses Szenario. Mit CTEs können Sie mehrere INSERT-Vorgänge effizient verketten.
So verwenden Sie datenmodifizierende CTEs, um Ihre Aufgabe zu erfüllen:
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 -- Nothing to return here ) INSERT INTO table3 (user_id, address, city, phone) SELECT ins1.user_id, ..., ... FROM ins1 RETURNING user_id;
Aufschlüsselung des CTE:
- ins1 CTE: Fügt eine neue Zeile ein in Tabelle1 und gibt die neu erstellte Benutzer-ID zurück.
- ins2 CTE: Verwendet die Benutzer-ID von ins1, um Daten in Tabelle2 einzufügen. Da kein Wert zurückgegeben werden muss, wird er weggelassen.
- Final INSERT: Fügt Daten in Tabelle3 ein, indem die Benutzer-ID aus ins1 und zusätzliche Spalten verwendet werden. Sie können die gewünschten Spalten und Werte nach Bedarf angeben. Mit der optionalen RETURNING-Klausel können Sie die neu erstellte Benutzer-ID aus Tabelle 3 abrufen.
Best Practices:
- Fügen Sie immer eine Spaltendefinitionsliste in Ihre ein INSERT-Anweisungen, um die Konsistenz mit Ihrer Tabellenstruktur sicherzustellen.
- Wenn eine Spalte einen Standardwert erhalten soll, lassen Sie ihn einfach im INSERT weg Stellungnahme; Postgres fügt automatisch den Standardwert ein.
- Der letzte CTE kann optional einen Wert zurückgeben, der für die weitere Verarbeitung oder zum Abrufen neu erstellter IDs nützlich sein könnte.
Das obige ist der detaillierte Inhalt vonWie können PostgreSQL-CTEs effizient mehrere Zeilen in mehrere Tabellen einfügen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

In dem Artikel werden mithilfe der Änderungstabelle von MySQL Tabellen, einschließlich Hinzufügen/Löschen von Spalten, Umbenennung von Tabellen/Spalten und Ändern der Spaltendatentypen, erläutert.

In Artikel werden die Konfiguration der SSL/TLS -Verschlüsselung für MySQL, einschließlich der Erzeugung und Überprüfung von Zertifikaten, erläutert. Das Hauptproblem ist die Verwendung der Sicherheitsauswirkungen von selbstsignierten Zertifikaten. [Charakterzahl: 159]

In Artikel werden Strategien zum Umgang mit großen Datensätzen in MySQL erörtert, einschließlich Partitionierung, Sharding, Indexierung und Abfrageoptimierung.

In Artikel werden beliebte MySQL -GUI -Tools wie MySQL Workbench und PhpMyAdmin beschrieben, die ihre Funktionen und ihre Eignung für Anfänger und fortgeschrittene Benutzer vergleichen. [159 Charaktere]

In dem Artikel werden in MySQL die Ablagerung von Tabellen mithilfe der Drop -Tabellenerklärung erörtert, wobei Vorsichtsmaßnahmen und Risiken betont werden. Es wird hervorgehoben, dass die Aktion ohne Backups, die Detaillierung von Wiederherstellungsmethoden und potenzielle Produktionsumfeldgefahren irreversibel ist.

In dem Artikel werden in verschiedenen Datenbanken wie PostgreSQL, MySQL und MongoDB Indizes für JSON -Spalten in verschiedenen Datenbanken erstellt, um die Abfrageleistung zu verbessern. Es erläutert die Syntax und die Vorteile der Indizierung spezifischer JSON -Pfade und listet unterstützte Datenbanksysteme auf.

In Artikeln werden ausländische Schlüssel zur Darstellung von Beziehungen in Datenbanken erörtert, die sich auf Best Practices, Datenintegrität und gemeinsame Fallstricke konzentrieren.

Artikel erläutert die Sicherung von MySQL gegen SQL-Injektions- und Brute-Force-Angriffe unter Verwendung vorbereiteter Aussagen, Eingabevalidierung und starken Kennwortrichtlinien (159 Zeichen).


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Dreamweaver CS6
Visuelle Webentwicklungstools

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

Sicherer Prüfungsbrowser
Safe Exam Browser ist eine sichere Browserumgebung für die sichere Teilnahme an Online-Prüfungen. Diese Software verwandelt jeden Computer in einen sicheren Arbeitsplatz. Es kontrolliert den Zugriff auf alle Dienstprogramme und verhindert, dass Schüler nicht autorisierte Ressourcen nutzen.

SublimeText3 Englische Version
Empfohlen: Win-Version, unterstützt Code-Eingabeaufforderungen!

ZendStudio 13.5.1 Mac
Leistungsstarke integrierte PHP-Entwicklungsumgebung