1

假设我有这批:

// Insert two order lines for order #2002 (Order_Lines table)
// Update order #2002 Total Quantity (Orders table)

INSERT INTO Order_Lines (OrderID, Line, PartID, Quantity)
   VALUES (2002, 1, 1234, 10);
INSERT INTO Order_Lines (OrderID, Line, PartID, Quantity)
   VALUES (2002, 2, 5678, 5);
UPDATE Orders 
   SET TotalQty = (SELECT SUM(Quantity) FROM Order_Lines WHERE OrderID = 2002)
   WHERE OrderID = 2002;

当我运行它时,服务器是否在开始执行下一条语句之前等待批处理中的每个语句完成执行?

我真正想知道的是,如果我运行这批,Orders 表是否会正确更新。(如果先执行插入,最后执行更新,则应该正确更新。)

顺便说一句,我使用的是 SQL 2005 和 2008 服务器。

4

1 回答 1

0

是的,您可以期望每个语句的结果可用于后续语句。

于 2013-01-25T04:39:10.023 回答