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

Zwarte pijlen en bijbehorende syntaxis tonen interne SQL ROLLBACK-processen. Grijze pijlen en bijbehorende syntax horen niet direct bij het commando SQL ROLLBACK.

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