sql >> Database teknologi >  >> RDS >> Sqlserver

Hvordan bruger jeg låsetip, så to parallelle forespørgsler returnerer ikke-krydsende resultater?

Dette burde gøre tricket.

BEGIN TRANSACTION
DECLARE @taskId
SELECT TOP (1) @taskid = TaskId FROM Tasks WITH (UPDLOCK, READPAST) WHERE State = 'ReadyForProcessing' 
UPDATE Tasks SET State = 'Processing' WHERE TaskId = @taskid
COMMIT TRAN


  1. MySQL, koalescer ækvivalent for tomme værdier?

  2. Hvordan man tvinger OPDATERING af MySQL Record, når intet ændrer sig

  3. Gruppér efter LIKE af en kolonneværdi

  4. Løsning af MySQL-fejl Deadlock fundet, når du forsøger at få lås; prøv at genstarte transaktionen