sql >> データベース >  >> RDS >> Sqlserver

2 つの並列クエリが交差しない結果を返すようにロック ヒントを使用するにはどうすればよいですか?

    これでうまくいくはずです。

    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. SQL Server 2008:重複する行を削除する

    2. MySQL:where句エラーの不明な列

    3. Oracleでのタイムゾーンに依存するsystimestampとタイムスタンプの比較

    4. すべてのデータを複数ページのページ付けで印刷する