SQL COMMIT
SQL COMMIT transferiert alle im Result-set vorhandenen Zeilen zurück
in die Tabelle. Eine mit SELCT...FOR UPDATE gesetzte Sperre wird
zurückgesetzt.
Das bei der Anweisung SQL SELECT vergebene Handle verliert seine
Gültigkeit.
Parameter-Nr für Ergebnis: Q-Parameter, in dem der
SQL-Server das Ergebnis zurückmeldet:
0: kein Fehler aufgetreten
1: Fehler aufgetreten (falsches Handle oder gleiche
Einträge in Spalten, in denen eindeutige Einträge
gefordert sind)
Datenbank: SQL-Zugriffs-ID: Q-Parameter, mit dem
Handle zur Identification des Result-sets (siehe auch
SQL SELECT).
SQL ROLLBACK
Die Ausführung des SQL ROLLBACK ist abhängig davon, ob INDEX pro-
grammiert ist:
INDEX nicht programmiert: Der Result-set wird nicht in die Tabelle
zurückgeschrieben (eventuelle Änderungen/Ergänzungen gehen
verloren). Die Transaktion wird abgeschlossen – das bei SQL SELECT
vergebene Handle verliert seine Gültigkeit. Typische Anwendung:
Sie beenden eine Transaktion mit ausschließlich lesenden Zugriffen.
INDEX programmiert: Die indizierte Zeile bleibt erhalten – alle ande-
ren Zeilen werden aus dem Result-set entfernt. Die Transaktion
wird nicht abgeschlossen. Eine mit SELCT...FOR UPDATE gesetzte
Sperre bleibt für die indizierte Zeile erhalten – für alle anderen Zeilen
wird sie zurückgesetzt.
Parameter-Nr für Ergebnis: Q-Parameter, in dem der
SQL-Server das Ergebnis zurückmeldet:
0: kein Fehler aufgetreten
1: Fehler aufgetreten (falsches Handle)
Datenbank: SQL-Zugriffs-ID: Q-Parameter, mit dem
Handle zur Identification des Result-sets (siehe auch
SQL SELECT).
Datenbank: Index zu SQL-Ergebnis: Zeile, die im
Result-set bleiben soll. Die Zeilen-Nummer wird
direkt angegeben oder Sie programmieren den Q-
Parameter, der den Index enthält.
HEIDENHAIN TNC 320
Beispiel:
11 SQL BIND Q881 "TAB_EXAMPLE.MESS_NR"
12 SQL BIND Q882 "TAB_EXAMPLE.MESS_X"
13 SQL BIND Q883 "TAB_EXAMPLE.MESS_Y"
14 SQL BIND Q884 "TAB_EXAMPLE.MESS_Z"
. . .
20 SQL Q5 "SELECT MESS_NR,MESS_X,MESS_Y,
MESS_Z FROM TAB_EXAMPLE"
. . .
30 SQL FETCH Q1 HANDLE Q5 INDEX+Q2
. . .
40 SQL UPDATE Q1 HANDLE Q5 INDEX+Q2
. . .
50 SQL COMMIT Q1 HANDLE Q5
Beispiel:
11 SQL BIND Q881 "TAB_EXAMPLE.MESS_NR"
12 SQL BIND Q882 "TAB_EXAMPLE.MESS_X"
13 SQL BIND Q883 "TAB_EXAMPLE.MESS_Y"
14 SQL BIND Q884 "TAB_EXAMPLE.MESS_Z"
. . .
20 SQL Q5 "SELECT MESS_NR,MESS_X,MESS_Y,
MESS_Z FROM TAB_EXAMPLE"
. . .
30 SQL FETCH Q1 HANDLE Q5 INDEX+Q2
. . .
50 SQL ROLLBACK Q1 HANDLE Q5
357