Eine transaktion, 9 t a bellenzugr if fe mit sql -an w e isung e n – HEIDENHAIN TNC 620 (73498x-01) Benutzerhandbuch

Seite 279

Advertising
background image

HEIDENHAIN TNC 620

279

8.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
hinzufü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-
Einträ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
hinzufügen:
– Eine Zeile des Result-sets in die Q-Parameter Ihres NC-
Programms ü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ückgesetzt, 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
verwenden. Nur so ist gewährleistet, dass
Änderungen/Ergänzungen nicht verloren gehen, Sperren
aufgehoben werden und der Result-set freigegeben wird.

Advertising