私がこのバッチを持っているとしましょう:
// 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テーブルが正しく更新されるかどうかです。(挿入が最初に実行され、更新が最後に実行される場合は、正しく更新する必要があります。)
ちなみに、私はSQL2005と2008サーバーを使用しています。