返回之前結果集我有一個簡單的表在我的SQL Server 2008數據庫:修改SQL從存儲過程
Tasks_Table
-id
-task_complete
-task_active
-column_1
-..
-column_N
對於必須由服務執行未完成任務表的指令。
我希望能夠在未來擴展我的系統。到現在爲止,只有1臺計算機上的1個服務從表中讀取。我有一個存儲過程,選擇所有未完成和不活動的任務。隨着服務開始處理任務,它將更新所有返回行中的task_active標誌。
要啓用系統擴展功能,我希望啓用更多機器上的服務部署。因爲我想阻止任務返回到多個服務,所以我必須更新返回未完成和非活動任務的存儲過程。
我想我必須鎖定表(一次只有一個讀取器 - 我知道我必須使用適當的ISOLATION LEVEL),並在返回結果集之前更新結果集每行中的task_active標誌。
所以我的問題是如何在返回之前修改存儲過程中的SELECT結果集?
有沒有辦法在調用TOP(1)之前命令Task_Table而不丟失ROWLOCK和READPAST? – m0sa