我在这里与下面的查询开始事务的方法: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