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

Означава UPDATE WHERE Value is IN Подзаявка, която има GROUP BY, така че няма проблем(и) със състояние на състезание?

Какво ще кажете за допълнителен слой на подзаявка за заключване?

   UPDATE my_table
      SET processing_by = our_id_info -- unique to this instance
    WHERE trans_nbr IN (
                    SELECT trans_nbr
                      FROM my_table
                     WHERE trans_nbr IN (
                                 SELECT trans_nbr
                                   FROM my_table
                               GROUP BY trans_nbr
                                 HAVING COUNT(trans_nbr) > 1
                                  LIMIT our_limit_to_have_single_process_grab
                                 )
                        FOR UPDATE
                       )
RETURNING row_id



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. pg_dump проблеми със сериен тип данни

  2. Персонализирана агрегатна функция

  3. Заявката на SQLAlchemy показва грешка Не може да присъедини таблица/избираеми „работни потоци“ към себе си

  4. За предимствата на сортираните пътища

  5. Заявка за транспониране на кръстосана таблица