Eine transaktion – HEIDENHAIN TNC 640 (34059x-05) Benutzerhandbuch

Seite 332

Advertising
background image

Programmieren: Q-Parameter

9.9

Tabellenzugriffe mit SQL-Anweisungen

9

332

TNC 640 | Benutzer-Handbuch HEIDENHAIN-Klartext-Dialog | 1/2015

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