我在做一個財務應用程序,我期待數據併發問題。如何處理這個數據併發問題?
假設有一個賬戶ABC,其中500美元。來自網絡的用戶可以將這些資金轉移到其他帳戶。這將涉及2個步驟,第一次檢查資金的可用性和第二次轉移。我正在進行一項交易,並在其中採取兩項行動。
問題是在某個時間(比如Time1)有2或3個分離請求進行傳輸(比如transaction1,transaction2,transaction3)的數量相同。現在承諾的可用金額是500美元。如果所有翻譯都是在同一時間開始的,所有的測試都是可用的金額($ 500)?這將真實和下一個聲明將資金轉移到其他帳戶。
我已閱讀關於事務隔離級別,但我無法確定我應該使用哪個隔離級別,實際上我很困惑它的理解。請幫幫我。
由於
感謝GBN,它看起來很好的解決方案。有兩個問題。 1.我是否也必須釋放鎖定,否則它會自動提交。 2.它在SQL Server 2005中支持共享主機嗎? 謝謝 – user576510
1.自動提交(HOLDLOCK更改持續時間)。 2.是的:這是標準的SQL – gbn
在回滾的情況下locak會自動釋放嗎? – user576510