Eine transaktion – HEIDENHAIN TNC 320 (340 551-01) Benutzerhandbuch

Seite 348

Advertising
background image

348

10 Programmieren: Q-Parameter

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.

Advertising