3

私はこのようなタスクを実行するための7つのSQLクエリを持っています:

1. UPDATE Customer SET CustomerService = 'perta' WHERE FirstName = 'john';
2. UPDATE Customer SET Flag = 1 WHERE OrderNum BETWEEN 2 AND 29;
3. UPDATE Customer SET PurchaseNum = PurchaseNum + 60 WHERE OrderNum BETWEEN 2 AND 29;
4. UPDATE Customer SET OrderNum = OrderNum + 60 WHERE OrderNum BETWEEN 2 AND 29;
5. UPDATE Customer SET PurchaseNum = PurchaseNum - 28 WHERE (PurchaseNum > 29 AND PurchaseNum <= 89) AND (Flag <> 1);
6. UPDATE Customer SET OrderNum = OrderNum - 28 WHERE (OrderNum > 29 AND OrderNum <= 89) AND (Flag <> 1);
7. UPDATE Customer SET Flag = 0 WHERE OrderNum BETWEEN 62 AND 89;

それらのSQLクエリを1つのクエリに「圧縮」することは可能ですか?

ユーザーがESCボタンを押して(送信ボタンを押した後)プロセスをキャンセルするのではないかと心配しているため、これらのシーケンスは途中で壊れ、テーブルも乱雑になります。

4

1 に答える 1

1

MySQL を使用している場合は、このリンクを参照してください。MySQL でトランザクションを実装する方法が示されています。

http://dev.mysql.com/doc/refman/5.5/en/commit.html

トランザクションは多くのシナリオで役立ちます。複数のデータベース テーブルを更新する必要があるシナリオの 1 つを処理しています。

于 2012-04-11T10:13:18.413 に答える