Eine transaktion, Tabellenzugriffe mit sql-anweisungen 9.8 – HEIDENHAIN TNC 640 (34059x-04) ISO programming Benutzerhandbuch

Seite 293

Advertising
background image

Tabellenzugriffe mit SQL-Anweisungen

9.8

9

TNC 640 | Benutzer-Handbuch DIN/ISO-Programmierung | 1/2014

293

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