sql >> Database >  >> RDS >> PostgreSQL

Hoe in te voegen in tabelnaam als alias met behulp van pg-promise insert helper?

U kunt de flexibele typen gebruiken in de helpers naamruimte om uw eigen aangepaste invoeging te genereren:

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

en dan voeg je er gewoon de conflictoplossingsclausule aan toe, aangezien deze statisch is.

API gebruikt in het voorbeeld:




  1. Paginering in nodejs met mysql

  2. Hoe kan ik race-omstandigheden vermijden bij gebruik van de methode find_or_create van DBIx::Class::ResultSet?

  3. Gebruik resultaten van de ene sql-query in een andere waar-instructie (subquery?)

  4. Schrijf PHP PDO-query's als `dbName`.`tableName` in tegenstelling tot `tableName` - waarom?