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

Как да използвам съвети за заключване, така че две паралелни заявки да връщат резултати, които не се пресичат?

Това трябва да свърши работа.

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Заключване на ред на SQL Server

  2. Как мога да принудя подзаявка да работи толкова добре, колкото #temp таблица?

  3. Как да активирам разрешения в споделяне на папки на SQL Server 2012 FileTable?

  4. Заявка за данни от XML колона в SQL Server

  5. Как да избегна кодиране на знаци, когато използвам FOR XML PATH?