Можете да използвате гъвкавите типове в помощниците пространство от имена, за да генерирате свое собствено персонализирано вмъкване:
const pgp = require('pg-promise')(/*initialization options*/);
// data = either one object or an array of objects;
// cs = your ColumnSet object, with table name specified
// alias = the alias name string
function createInsertWithAlias(data, cs, alias) {
return pgp.as.format('INSERT INTO $1 AS $2~ ($3^) VALUES $4^', [
cs.table, alias, cs.names, pgp.helpers.values(data, cs)
]);
}
и след това просто добавяте клаузата за разрешаване на конфликт към него, тъй като е статичен.
API, използван в примера:
- as.format - използва се от всички методи на заявки за форматиране на заявки
- ColumnSet.table - дава ви специализирания обект таблица
- ColumnSet.names - дава ви форматирани всички колони
- helpers.values - дава ви всички форматирани стойности