我在這裏與下面的查詢開始事務的方法:SQL服務器併發事務問題
INSERT INTO order_item (item_no, order_id)
SELECT TOP " + Quantity + " item_no, @order_id
FROM items where status = 'Unused'
一旦第一插入命令已被執行,我想在items
表更新所有item_no
那插入order_item
在前面的命令:
UPDATE items (select item_no from order_item where order_id = @order_id)
SET status = 'Used'
我很擔心,如果其他事務,而現有的運行開始時,他們可能選擇應該被標記爲「U套件編號sed',因爲第一個事務可能會被提交以將這些項目標記爲「已使用」。
如果有人能就這個問題提供一些建議,我們將不勝感激。
謝謝!
您使用的是什麼版本的SQL Server? – 2011-12-14 09:11:00