sql >> Databasteknik >  >> RDS >> PostgreSQL

Sätt att UPPDATERA VAR värdet finns I Underfrågan som har GROUP BY så inga tävlingsvillkorsproblem?

Vad sägs om ett extra underfrågelager för låsningen?

   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. Prestandafråga:PÅ DUBLIKAT UPPDATERING AV NYCKEL kontra UPPDATERING (MySQL)

  2. MySQL Workbench - Forward Engineering - Fel 1005:Kan inte skapa tabell (errnr:150)

  3. MySQL kraschar vid start

  4. Migrera SPATIAL-data från Oracle till Postgresql