BulkInsertBuilder Klasse
Über die BulkInsertBuilder Klasse können BULK INSERT SQL-Statements erstellt, d.h. mehrere Datensätze in einem Statement in die Datenbank eingefügt werden.
tipp
Alle Funktionen sind hier beschrieben.
Beispiel
const { BulkInsertBuilder } = require("ou.sp.BulkInsertBuilder");
const { Logging } = require("ou.sp.Logging");
const { getSettings } = require("ou.spc.ptpINV.settings");
const { mustValidateDbConnection } = require("ou.sp.ptpINV.lib");
const logger = Logging.use(context.scriptName);
const db = getSettings().ptpConnections.getDatabaseConnection("ptpData");
try {
mustValidateDbConnection(db);
// Zeilen im Format [{ col1: val1, col2: val2, ... }, { ... }, ...]
const rows = fetchManyManyRowsFromSomewhere();
BulkInsertBuilder.into("costcenter")
.setColumns(["recipient", "costcenter", "costcenterName"])
.setChunkSize(1000) // Optional, Standardwert ist 5000
.setReplace(/someSearchPattern/g, "someReplacement") // Optional, wenn gesetzt werden in allen Werten die Suchmuster ersetzt
.addRows(rows)
.execute(db);
} catch (error) {
logger.error(`Error during bulk insert: ${error.message}`, error);
} finally {
if (db) {
db.close();
}
}