„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Effiziente Implementierung von Multi-Line-Insertionstechniken mithilfe von PG-Hochschulmeldungen

Effiziente Implementierung von Multi-Line-Insertionstechniken mithilfe von PG-Hochschulmeldungen

Gepostet am 2025-04-16
Durchsuche:555

How to Achieve Multi-Row Inserts with Efficiency Using pg-promise?

multi-row Inflexiert mit pg-promise

Problemanweisung:

, wie man mehrere Stöcke effizient in eine Datenbank einfügt, die ein Einfügen mit einem einzelnen Einfügen in Query einfügen, in dem ein Einfügen einfügen. PG-Promise?

Lösung:

Der bevorzugte Ansatz in Pg-Promise besteht darin, den Helpers-Namespace für hohe Leistung und Flexibilität zu verwenden. const cs = new ColumnSet (['col_a', 'col_b'], {table: 'tmp'}); const values ​​= [{col_a: 'a1', col_b: 'b1'}, {col_a: 'a2', col_b: 'b2'}]; const query = einfügen (Werte, CS); // => In "TMP" einfügen ("col_a", "col_b") Werte ('A1', 'B1'), ('A2', 'B2'). Warten Sie db.none (query);

const {ColumnSet, insert} = pgp.helpers;

const cs = new ColumnSet(['col_a', 'col_b'], {table: 'tmp'});
const values = [{col_a: 'a1', col_b: 'b1'}, {col_a: 'a2', col_b: 'b2'}];

const query = insert(values, cs);
// => INSERT INTO "tmp"("col_a","col_b") VALUES('a1','b1'),('a2','b2')

await db.none(query);

Das Spaltenset-Objekt sollte statisch erstellt werden. eingefügt.

    db.many ().
  • zum Einfügen großer Datensätze und in Betracht, die Feature der Datenimporte zu verwenden.
  • Sie können die Abfragerzeugung innerhalb einer Funktion für erweiterte Fehlerbehandlung in Verbindung bringen.
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3