2012-04-11 75 views
3

我有7个SQL查询来执行这样的任务:将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按钮(在他/她按下SUBMIT按钮之后)取消了这个过程,那么这些序列将在中间被打破,我的桌子也会变得混乱。

+11

使用交易! (以及支持它们的存储引擎) – Mat 2012-04-11 09:40:26

+3

为什么不使用事务? – 2012-04-11 09:40:47

+4

听说过交易?此外,一旦客户端发出HTTP请求,他不能去切断传输请求的线路...... – Baz1nga 2012-04-11 09:40:59

回答