2012-04-11 5 views
3

Ich habe 7 SQL-Abfrage eine Aufgabe wie dies zu tun:Machen Sie 7 SQL-Abfrage wie diese in einzelne Abfrage, ist es möglich?

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; 

ist es möglich, zu ‚komprimieren‘ diese SQL-Abfragen in 1 Abfrage?

weil ich befürchte, dass der Benutzer den Vorgang durch Drücken der ESC-Taste abbricht (nachdem er/sie die SUBMIT-Taste gedrückt hat), wird diese Sequenz in der Mitte unterbrochen und mein Tisch wird ebenfalls chaotisch sein.

+11

Transaktionen verwenden! (und eine Speicher-Engine, die sie unterstützt) – Mat

+3

Warum nicht Transaktion verwenden? –

+4

von Transaction gehört? Auch wenn der Client eine HTTP-Anfrage macht, kann er nicht gehen und den Draht abschneiden, der die Anfrage überträgt ... – Baz1nga

Antwort

1

Wenn Sie MySQL verwenden, dann sehen Sie diesen Link, der Ihnen zeigt, wie Sie Transaktionen in MySQL implementieren.

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

Transaktion hilft uns in vielen Szenario und Sie sind einer von ihnen Umgang mit dem Sie mehrere Datenbanktabellen aktualisieren möchten.

Verwandte Themen