PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Wie füge ich mit dem Pg-Promise Insert Helper als Alias ​​in den Tabellennamen ein?

Sie können die flexiblen Typen in den Helfern verwenden Namespace, um Ihre eigene benutzerdefinierte Einfügung zu generieren:

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)
    ]);
}

und dann hängen Sie einfach die Konfliktlösungsklausel daran an, da sie statisch ist.

Im Beispiel verwendete API: