PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

currval все още не е дефиниран тази сесия, как да получите последователности от много сесии?

currval ще върне последната генерирана стойност за последователността в текущата сесия. Така че, ако друга сесия генерира нова стойност за последователността, вие все още можете да извлечете последната стойност, генерирана от ВАШАТА сесия, избягвайки грешки.

Но за да получите последната генерирана стойност за всяка сесия, можете да използвате горното:

SELECT last_value FROM your_sequence_name;

Бъдете внимателни, ако стойността е била използвана от друга сесия с неосъществена (или прекратена) транзакция и използвате тази стойност като референтна, може да получите грешка. Дори след получаване на тази стойност, тя може вече да е остаряла. Обикновено хората просто се нуждаят от currval или дори връщането на 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. Присъединете се към всички таблици на PostgreSQL и направете речник на Python

  2. Получаване на грешка:Peer удостоверяването е неуспешно за потребител postgres, когато се опитва да накара pgsql да работи с релси

  3. Най-добра практика за съхраняване на многоезични низове

  4. Имената на часови зони с идентични свойства дават различен резултат, когато се прилагат към времеви печат

  5. проблем с псевдонима на колоната на postgres