Einfügungen mehrerer Zeilen mit pg-promise
Das Einfügen mehrerer Zeilen innerhalb einer einzelnen Abfrage ist ein effizienter Ansatz für Massenoperationen. Pg-promise bietet durch seinen Array-basierten Mechanismus nahtlose Unterstützung für mehrzeilige Einfügungen.
Syntax für mehrzeilige Einfügungen
Um mehrere Zeilen einzufügen, können Sie diese definieren als Array von Objekten, wobei jedes Objekt eine Zeile darstellt:
const values = [{col_a: 'a1', col_b: 'b1'}, {col_a: 'a2', col_b: 'b2'}];
Um die mehrzeilige Einfügeabfrage zu generieren, verwenden Sie den Einfügehelfer aus dem pgp.helpers-Namespace:
const cs = new ColumnSet(['col_a', 'col_b'], {table: 'tmp'}); const query = insert(values, cs);
Dadurch wird die folgende Abfrage generiert:
INSERT INTO "tmp"("col_a","col_b") VALUES('a1','b1'),('a2','b2')
Abfrageausführung
Sie können die generierte Abfrage mit der None-Methode ausführen:
await db.none(query);
Dynamische SQL-Namen und SQL-Injection-Schutz
Pg-promise verwendet Platzhalter ($1, $2 usw.) für Abfrageparameter anstelle der String-Interpolation. Dieser Ansatz verhindert SQL-Injection-Schwachstellen, da die Bibliothek die Parameter bereinigt, bevor sie die Abfrage erstellt.
Zusätzliche Hinweise
Zusammenfassend bietet pg-promise eine robuste Lösung für die Durchführung mehrzeiliger Einfügungen und stellt so Datenintegrität und Leistungseffizienz sicher. Nutzen Sie die Einfügehilfe und dynamische SQL-Namen für optimale Ergebnisse.
Das obige ist der detaillierte Inhalt vonWie kann pg-promise mehrzeilige Einfügungen in PostgreSQL effizient verarbeiten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!