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

currval belum didefinisikan sesi ini, bagaimana cara mendapatkan urutan multi-sesi?

currval akan mengembalikan nilai terakhir yang dihasilkan untuk urutan dalam sesi saat ini. Jadi, jika sesi lain menghasilkan nilai baru untuk urutan tersebut, Anda masih dapat mengambil nilai terakhir yang dihasilkan oleh sesi ANDA, menghindari kesalahan.

Namun, untuk mendapatkan nilai yang dihasilkan terakhir pada sesi apa pun, Anda dapat menggunakan yang di atas:

SELECT last_value FROM your_sequence_name;

Hati-hati, jika nilai digunakan oleh sesi lain dengan transaksi yang tidak terikat (atau dibatalkan) dan Anda menggunakan nilai ini sebagai referensi, Anda mungkin mendapatkan kesalahan. Bahkan setelah mendapatkan nilai ini mungkin sudah ketinggalan zaman. Umumnya orang hanya membutuhkan currval atau bahkan kembalinya setval .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wadah Docker untuk Postgres 9.1 tidak mengekspos port 5432 ke host

  2. Saya memiliki hasil yang berbeda dari kueri untuk COUNT('e.id') atau COUNT(e.id)

  3. Format waktu Rails Activerecord/Postgres

  4. cara mengembalikan DB postgresql tanpa cadangan

  5. Eclipselink jpa menghasilkan kueri hitungan menggunakan COUNT(id) sebagai gantinya COUNT(*)