PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Cara mengembalikan nilai hasil kueri sisipkan menggunakan pembantu pg-promise

Cukup tambahkan RETURNING... klausa ke kueri yang dihasilkan:

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

return this.collection.one(query);

Anda harus memiliki objek besar di sana jika Anda ingin membuat sisipan secara otomatis. Namespace pembantu sebagian besar dihargai saat membuat sisipan/pembaruan multi-baris, dalam hal ini ColumnSet digunakan sebagai variabel statis:

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

Perhatikan bahwa dalam hal ini kami melakukan .many , karena 1 atau lebih baris/hasil diharapkan kembali. Ini bahkan dapat diubah menjadi hanya array id-s:

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

lihat:Database.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. Tidak dapat terhubung ke database heroku postgresql dari aplikasi node lokal dengan sekuel

  2. 2 Cara Mendaftar semua Pemicu di Database PostgreSQL

  3. Pengaturan LC_CTYPE yang dipilih memerlukan penyandian LATIN1

  4. Tidak dapat PILIH dari klausa UPDATE RETURNING di postgres

  5. Django JSONField