Tranzakció módosításainak elvetése SQL ROLLBACK
Alkalmazás
SQL ROLLBACK elveti a tranzakció minden módosítását és kiegészítését. A tranzakciót a megadandó HANDLE opció definiálja.
Előfeltételek
- Kulcsszám 555343
- Táblázat létezik
- Megfelelő táblázatnév
A táblázatneveknek és a táblázatok oszlopneveinek betűvel kell kezdődniük, és nem tartalmazhatnak számolási jeleket, pl. +. Ezen jelek az SQL parancsok kapcsán az adatok beolvasása és importálása során problémákhoz vezethetnek.
Funkcióleírás
Az SQL ROLLBACK SQL parancs funkciója függ az INDEX-től:
- INDEX nélkül:
- A vezérlő elveti a tranzakció minden módosítását és kiegészítését
- A vezérlő törli a SELECT...FOR UPDATE használatával megadott lezárást.
- A vezérlő lezárja a tranzakciót (a HANDLE elveszti érvényességét)
- INDEX esetén:
- Kizárólag az indexelt sor marad meg a Result-set-ben (minden más sort töröl a vezérlő)
- A vezérlő elvet minden esetleges módosítást és kiegészítést a meg nem adott sorokban
- A vezérlő kizárólag a SELECT...FOR UPDATE-ben indexelt sort zárolja (a vezérlő visszaállít minden más zárolást)
- A megadott (indexelt) sor ezután a Result-set új 0-s sorává válik
- A vezérlő nem zárja le a tranzakciót (a HANDLE megtartja érvényességét)
- A tranzakciót később feltétlenül le kell zárni az SQL ROLLBACK vagy SQL COMMIT kézi használatával
Bevitel
11 SQL ROLLBACK Q1 HANDLE Q5 INDEX 5 | ; A Q5 tranzakció összes sorának törlése, az 5. sor kivételével |
Az NC funkció a következő szintaktikai elemeket tartalmazza:
Szintaktikai elem | Jelentés |
---|---|
SQL ROLLBACK | Szintaxisnyitó a ROLLBACK SQL parancshoz |
Q/QL/QR vagy Q REF | Változó, amelyben a vezérlő az eredményt tárolja |
HANDLE | Q paraméter a tranzakció azonosításával |
INDEX | A sor száma az Eredményhalmaz-on belül olyan számként vagy változóként, amely megmarad Ha nincs megadva, a vezérlő elveti a tranzakció minden módosítását és kiegészítését Opcionális szintaktikai elem |
Példa
11 SQL BIND Q881 "Tab_Example.Position_Nr" |
12 SQL BIND Q882 "Tab_Example.Measure_X" |
13 SQL BIND Q883 "Tab_Example.Measure_Y" |
14 SQL BIND Q884 "Tab_Example.Measure_Z" |
* - ... |
21 SQL Q5 "SELECT Position_Nr,Measure_X,Measure_Y, Measure_Z FROM Tab_Example" |
* - ... |
31 SQL FETCH Q1 HANDLE Q5 INDEX+Q2 |
* - ... |
41 SQL ROLLBACK Q1 HANDLE Q5 |