PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Jak zwrócić wstawione wartości wyników zapytania za pomocą pomocników pg-promise

Wystarczy dołączyć RETURNING... klauzula do wygenerowanego zapytania:

var h = this.collection.$config.pgp.helpers;
var query = h.insert(values, null, 'branch') + 'RETURNING pk_branchID';

return this.collection.one(query);

Musisz mieć tam duży obiekt, jeśli chcesz automatycznie wygenerować wstawkę. Przestrzeń nazw pomocnicy jest najbardziej ceniony podczas generowania wielowierszowych wstawek/aktualizacji, w którym to przypadku Zestaw kolumn jest używana jako zmienna statyczna:

var h = this.collection.$config.pgp.helpers;
var cs = new h.ColumnSet(['col_a', 'col_b'], {table: 'branch'});
var data = [{col_a: 1, col_b: 2}, ...];

var query = h.insert(data, cs) + 'RETURNING pk_branchID';

return this.collection.many(query);

Zauważ, że w tym przypadku robimy .wiele , ponieważ oczekuje się co najmniej 1 wiersza/wyników. Można to nawet przekształcić w tablicę identyfikatorów:

return this.collection.map(query, [], a => a.pk_branchID);

zobacz:Baza danych.map




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. GROUP BY + CASE oświadczenie

  2. Zapytanie nie używające indeksu na sygnaturze czasowej bez pola strefy czasowej

  3. Railsy/postgres, 'klucze obce' przechowywane w tablicy w celu utworzenia asocjacji 1-wielu

  4. BŁĄD:odmowa zezwolenia dla sekwencji cities_id_seq przy użyciu Postgres

  5. Jak zwrócić wartość z funkcji, jeśli nie znaleziono żadnej wartości?