【发布时间】:2011-12-14 09:04:05
【问题描述】:
我有一个方法,它通过以下查询启动事务:
INSERT INTO order_item (item_no, order_id)
SELECT TOP " + Quantity + " item_no, @order_id
FROM items where status = 'Unused'
一旦执行了第一个插入命令,我想更新在上一个命令中插入到order_item 中的items 表中的所有item_no:
UPDATE items (select item_no from order_item where order_id = @order_id)
SET status = 'Used'
我担心如果其他事务在现有事务运行时开始,他们可能会选择应该标记为“已使用”的套件编号,因为可能会提交第一个事务以标记为“已使用”的项目.
如果有人能就这个问题提供一些建议,我们将不胜感激。
谢谢!
【问题讨论】:
-
您使用的是什么版本的 SQL Server?
标签: sql-server sql-server-2008 transactions