Zavrženje spremembe transakcije z možnostjo SQL ROLLBACK
Uporaba
Funkcija SQL ROLLBACK zavrže vse spremembe in dopolnila transakcije. Transakcija se določi prek funkcije HANDLE.
Pogoji
- Koda 555343
- Preglednica je prisotna
- Primerno ime preglednice
Imena preglednic in stolpcev preglednic se morajo začeti s črko in ne smejo vsebovati računskih znakov, npr. +. Ti znaki lahko na podlagi ukazov SQL pri uvozu ali izvozu podatkov povzročijo težave.
Opis funkcije
Funkcija ukaza SQL SQL ROLLBACK je odvisna od funkcije INDEX:
- Brez funkcije INDEX:
- Krmiljenje vse spremembe in dopolnila transakcije.
- Krmiljenje ponastavi s funkcijo SELECT...FOR UPDATE nastavljeno blokado
- Krmiljenje zaključi transakcijo (funkcija HANDLE preneha veljati)
- S funkcijo INDEX:
- Samo izbrana vrstica ostane v nizu Result-set (krmiljenje zavrže vse ostale vrstice)
- Krmiljenje zavrže možne spremembe in dopolnila v nenavedenih vrsticah
- Krmiljenje blokira izključno s funkcijo SELECT...FOR UPDATE izbrane vrstice (krmiljenje ponastavi vse ostale vrstice)
- Navedena (izbrana) vrstica je v nadaljevanju nova vrstica 0 niza Result-set
- Krmiljenje ne zaključi transakcije (funkcija HANDLE ne preneha veljati)
- Potrebno je poznejše ročno zapiranje transakcije s pomočjo funkcije SQL ROLLBACK ali SQL COMMIT
Vnos
11 SQL ROLLBACK Q1 HANDLE Q5 INDEX 5 | ; brisanje vseh vrstic transakcije Q5, razen vrstice 5 |
NC-funkcija vsebuje naslednje sintaktične elemente:
Sintaktični element | Pomen |
---|---|
SQL ROLLBACK | Odpiralnik sintakse za ukaz SQL ROLLBACK |
Q/QL/QR ali Q REF | Spremenljivka, v kateri krmiljenje shrani rezultat |
HANDLE | Parameter Q z identifikacijo transakcije |
NASLEDNJI | Številka vrstice znotraj možnosti Result-set kot številka ali spremenljivka, ki se ohrani Brez navedbe krmiljenje zavrže vse spremembe in dopolnila transakcije Izbirni sintaktični element |
Primer
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 |