Anulowanie modyfikacji transakcji za pomocą SQL ROLLBACK
Zastosowanie
SQL ROLLBACK anuluje wszystkie zmiany i uzupełnienia transakcji. Transakcja jest definiowana przez podawany HANDLE.
Warunki
- Kod liczbowy 555343
- Tabela dostępna
- Odpowiednia nazwa tabeli
Nazwy tabel i kolumn tabel muszą rozpoczynać się z litery i nie mogą zawierać znaków matematycznych, np. +. Te znaki mogą ze względu na instrukcje SQL prowadzić przy wczytywaniu lub wyczytywaniu do problemów.
Opis funkcji
Funkcja polecenia SQL SQL ROLLBACK jest zależna od INDEX:
- Bez INDEX:
- Sterowanie anuluje wszystkie zmiany i uzupełnienia transakcji
- Ustawiona z SELECT...FOR UPDATE blokada jest przy przy tym resetowana przez sterowanie
- Sterowanie zamyka transakcję (HANDLE handle traci swoją ważność)
- Z INDEX:
- Wyłącznie indeksowany wiersz pozostaje zachowany w Result-set (wszystkie inne wiersz są usuwane przez sterowanie)
- Sterowanie anuluje wszystkie ewentualne zmiany i uzupełnienia w nie podanych wierszach
- Sterowanie blokuje wyłącznie indeksowane z SELECT...FOR UPDATE wiersze (sterowanie resetuje wszystkie inne blokady)
- Podany (indeksowany) wiersz staje się nowym wierszem 0 w Result-set
- Sterowanie nie zamyka transakcji ( HANDLE zachowuje swoją ważność)
- Późniejsze odręczne zakończenie transakcji przy pomocy SQL ROLLBACK lub SQL COMMIT jest konieczne
Dane wejściowe
11 SQL ROLLBACK Q1 HANDLE Q5 INDEX 5 | ; Skasowanie wszystkich wierszy transakcji Q5 poza wierszem 5 |
Funkcja NC zawiera następujące elementy składni:
Element składni | Znaczenie |
---|---|
SQL ROLLBACK | Otwieracz składni dla polecenia SQL ROLLBACK |
Q/QL/QR bądź Q REF | Zmienna, w której sterowanie zapamiętuje wynik |
HANDLE | Parametr Q z identyfikacją transakcji |
INDEKS | Numer wiersza w Result-set jako numer bądź zmienna, która pozostaje zachowana Bez podania danych sterowanie anuluje wszystkie zmiany i uzupełnienia transakcji Element składni opcjonalnie |
Przykład
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 |