Wijzigingen van een transactie niet accepteren met SQL ROLLBACK
Toepassing
SQL ROLLBACK accepteert alle wijzigingen en aanvullingen van een transactie. De transactie is door de op te geven HANDLE gedefinieerd.
Voorwaarden
- Sleutelgetal 555343
- Tabel aanwezig
- Geschikte tabelnaam
De namen van tabellen en tabelkolommen moeten met een letter beginnen en mogen geen rekenkundig teken, bijv. + bevatten. Deze tekens kunnen op basis van SQL-commando's bij het inlezen of uitlezen van gegevens tot problemen leiden.
Functiebeschrijving
De functie van SQL-commando SQL ROLLBACK hangt af van de INDEX:
- Zonder INDEX:
- De besturing accepteert alle wijzigingen en aanvullingen van de transactie
- De besturing zet een met SELECT...FOR UPDATE ingestelde blokkering terug
- De besturing sluit de transactie af (de HANDLE is niet langer geldig)
- Met INDEX:
- Uitsluitend de geïndexeerde regel blijft in de result-set behouden (de besturing verwijdert alle andere regels)
- De besturing verwerpt alle eventuele wijzigingen en aanvullingen in de niet opgegeven regels
- De besturing blokkeert uitsluitend de met SELECT...FOR UPDATE geïndexeerde regel (de besturing zet alle andere blokkeringen terug)
- De opgegeven (geïndexeerde) regel is vervolgens de nieuwe regel 0 van de result-set
- De besturing sluit de transactie niet af (de HANDLE behoudt zijn geldigheid)
- Later handmatig afsluiten van de transactie met behulp van SQL ROLLBACK of SQL COMMIT is nodig
Invoer
11 SQL ROLLBACK Q1 HANDLE Q5 INDEX 5 | ; Alle regels van de transactie Q5 wissen, behalve regel 5 |
De NC-functie bevat de volgende syntaxiselementen:
Syntaxiselement | Betekenis |
---|---|
SQL ROLLBACK | Syntaxisopener voor de SQL-commando ROLLBACK: |
Q/QL/QR of Q REF | Variabele waarin de besturing het resultaat opslaat |
HANDLE | Q-parameters met de identificatie van de transactie |
INDEX | Regelnummer in de resultatenset als nummer of variabele, welke behouden blijft Zonder opgave accepteert de besturing alle wijzigingen en aanvullingen van de transactie Syntaxiselement optioneel |
Voorbeeld
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 |