Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Jak używać wskazówek dotyczących blokowania, aby dwa równoległe zapytania zwracały nieprzecinające się wyniki?

To powinno wystarczyć.

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. Pakiet SSIS nie chce pobierać metadanych tabeli tymczasowej

  2. Jak powiązać parametr ISO8601 TSQL DATETIME z PDO?

  3. Jak sformatować datę i godzinę w SQL SERVER

  4. Wskazówki dotyczące przenoszenia bazy danych SQL Server z jednego serwera na drugi — samouczek SQL autorstwa Rajana Singha

  5. Jak rzutować zmienne w T-SQL do zbiorczego wstawiania?