PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Cách trả về chèn giá trị kết quả truy vấn bằng trình trợ giúp pg-promise

Chỉ cần thêm RETURNING... mệnh đề cho truy vấn đã tạo:

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

return this.collection.one(query);

Bạn phải có một đối tượng lớn ở đó nếu bạn muốn tự động tạo chèn. Không gian tên trình trợ giúp chủ yếu được coi trọng khi tạo chèn / cập nhật nhiều hàng, trong trường hợp này, ColumnSet được sử dụng như một biến tĩnh:

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

Lưu ý rằng trong trường hợp này, chúng tôi thực hiện .many , vì 1 hoặc nhiều hàng / kết quả được mong đợi trở lại. Điều này thậm chí có thể được chuyển đổi chỉ thành một mảng id-s:

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

xem: 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. Các ký tự này có hợp lệ cho XML không?

  2. Làm cách nào để xóa một trong hai dòng dữ liệu trùng lặp của tôi trong Postgres?

  3. Cách giảm thiểu RPO cho cơ sở dữ liệu PostgreSQL của bạn bằng cách sử dụng phục hồi tại thời điểm

  4. Postgresql thoát trích dẫn đơn trong mệnh đề where

  5. Loại điểm trong sqlalchemy?