Eine transaktion – HEIDENHAIN TNC 320 (340 551-02) Benutzerhandbuch
Seite 369

HEIDENHAIN TNC 320
369
1
0
.9 T
a
bellenzugr
if
fe
mit SQL-An
w
e
isung
e
n
Eine Transaktion
Prinzipiell besteht eine Transaktion aus den Aktionen:
–
Tabelle (Datei) adressieren, Zeilen selektieren und in den Result-
set transferieren.
–
Zeilen aus dem Result-set lesen, ändern und/oder neue Zeilen hin-
zufügen.
–
Transaktion abschließen. Bei Änderungen/Ergänzungen werden
die Zeilen aus dem Result-set in die Tabelle (Datei) übernommen.
Es sind aber weitere Aktionen erforderlich, damit Tabellen-Einträge im
NC-Programm bearbeitet werden können und ein paralleles Ändern
gleicher Tabellen-Zeilen vermieden wird. Daraus ergibt sich folgender
Ablauf einer Transaktion:
1
Für jede Spalte, die bearbeitet werden soll, wird ein Q-Parameter
spezifiziert. Der Q-Parameter wird an der Spalte zugeordnet – er
wird „gebunden“ (SQL BIND...).
2
Tabelle (Datei) adressieren, Zeilen selektieren und in den Result-
set transferieren. Zusätzlich definieren Sie, welche Spalten in den
Result-set übernommen werden sollen (SQL SELECT...).
Sie können die selektierten Zeilen „sperren“. Dann können andere
Prozesse zwar lesend auf diese Zeilen zugreifen, die Tabellen-Ein-
träge aber nicht ändern. Sie sollten immer dann die selektierten
Zeilen sperren, wenn Änderungen vorgenommen werden
(SQL SELECT ... FOR UPDATE).
3
Zeilen aus dem Result-set lesen, ändern und/oder neue Zeilen hin-
zufügen:
– Eine Zeile des Result-sets in die Q-Parameter Ihres NC-Pro-
gramms übernehmen (SQL FETCH...)
– Änderungen in den Q-Parametern vorbereiten und in eine Zeile
des Result-set transferieren (SQL UPDATE...)
– Neue Tabellen-Zeile in den Q-Parametern vorbereiten und als
neue Zeile in den Result-set übergeben (SQL INSERT...)
4
Transaktion abschließen.
– Tabellen-Einträge wurden geändert/ergänzt: Die Daten werden
aus dem Result-set in die Tabelle (Datei) übernommen. Sie sind
jetzt in der Datei gespeichert. Eventuelle Sperren werden zurück-
gesetzt, der Result-set wird freigegeben (SQL COMMIT...).
– Tabellen-Einträge wurden nicht geändert/ergänzt (nur lesende
Zugriffe): Eventuelle Sperren werden zurückgesetzt, der Result-
set wird freigegeben (SQL ROLLBACK... OHNE INDEX).
Sie können mehrere Transaktionen parallel zueinander bearbeiten.
Schließen Sie eine begonnene Transaktion unbedingt ab –
auch wenn Sie ausschließlich lesende Zugriffe verwen-
den. Nur so ist gewährleistet, dass Änderungen/Ergänzun-
gen nicht verloren gehen, Sperren aufgehoben werden
und der Result-set freigegeben wird.