Vous pouvez utiliser les types flexibles dans les helpers namespace pour générer votre propre insert personnalisé :
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)
]);
}
puis vous y ajoutez simplement la clause de résolution de conflit, car elle est statique.
API utilisée dans l'exemple :
- as.format - utilisé par toutes les méthodes de requête pour formater les requêtes
- ColumnSet.table - vous donne l'objet table spécialisé
- ColumnSet.names - vous donne toutes les colonnes formatées
- helpers.values - vous donne toutes les valeurs formatées