PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Comment insérer dans le nom de la table en tant qu'alias à l'aide de l'assistant d'insertion pg-promise?

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 :