Sql commit, Sql rollback, 9 t a bellenzugr if fe mit sql -an w e isung e n – HEIDENHAIN TNC 620 (340 56x-02) Benutzerhandbuch

Seite 271

Advertising
background image

HEIDENHAIN TNC 620

271

8.9 T

a

bellenzugr

if

fe mit SQL

-An

w

e

isung

e

n

SQL COMMIT

SQL COMMIT

transferiert alle im Result-set vorhandenen Zeilen zurück

in die Tabelle. Eine mit SELCT...FOR UPDATE gesetzte Sperre wird
zurückgesetzt.

Das bei der Anweisung SQL SELECT vergebene Handle verliert seine
Gültigkeit.

U

Parameter-Nr für Ergebnis

: Q-Parameter, in dem der

SQL-Server das Ergebnis zurückmeldet:
0: kein Fehler aufgetreten
1: Fehler aufgetreten (falsches Handle oder gleiche
Einträge in Spalten, in denen eindeutige Einträge
gefordert sind)

U

Datenbank: SQL-Zugriffs-ID

: Q-Parameter, mit dem

Handle zur Identification des Result-sets (siehe auch
SQL SELECT

).

SQL ROLLBACK

Die Ausführung des SQL ROLLBACK ist abhängig davon, ob INDEX
programmiert ist:

„

INDEX

nicht programmiert: Der Result-set wird nicht in die Tabelle

zurückgeschrieben (eventuelle Änderungen/Ergänzungen gehen
verloren). Die Transaktion wird abgeschlossen – das bei SQL SELECT
vergebene Handle verliert seine Gültigkeit. Typische Anwendung:
Sie beenden eine Transaktion mit ausschließlich lesenden Zugriffen.

„

INDEX

programmiert: Die indizierte Zeile bleibt erhalten – alle

anderen Zeilen werden aus dem Result-set entfernt. Die
Transaktion wird nicht abgeschlossen. Eine mit SELCT...FOR
UPDATE

gesetzte Sperre bleibt für die indizierte Zeile erhalten – für

alle anderen Zeilen wird sie zurückgesetzt.

U

Parameter-Nr für Ergebnis

: Q-Parameter, in dem der

SQL-Server das Ergebnis zurückmeldet:
0: kein Fehler aufgetreten
1: Fehler aufgetreten (falsches Handle)

U

Datenbank: SQL-Zugriffs-ID

: Q-Parameter, mit dem

Handle zur Identification des Result-sets (siehe auch
SQL SELECT

).

U

Datenbank: Index zu SQL-Ergebnis

: Zeile, die im

Result-set bleiben soll. Die Zeilen-Nummer wird
direkt angegeben oder Sie programmieren den Q-
Parameter, der den Index enthält.

Beispiel:

11 SQL BIND Q881 "TAB_EXAMPLE.MESS_NR"

12 SQL BIND Q882 "TAB_EXAMPLE.MESS_X"

13 SQL BIND Q883 "TAB_EXAMPLE.MESS_Y"

14 SQL BIND Q884 "TAB_EXAMPLE.MESS_Z"

. . .

20 SQL Q5 "SELECT MESS_NR,MESS_X,MESS_Y,
MESS_Z FROM TAB_EXAMPLE"

. . .

30 SQL FETCH Q1 HANDLE Q5 INDEX+Q2

. . .

40 SQL UPDATE Q1 HANDLE Q5 INDEX+Q2

. . .

50 SQL COMMIT Q1 HANDLE Q5

Beispiel:

11 SQL BIND Q881 "TAB_EXAMPLE.MESS_NR"

12 SQL BIND Q882 "TAB_EXAMPLE.MESS_X"

13 SQL BIND Q883 "TAB_EXAMPLE.MESS_Y"

14 SQL BIND Q884 "TAB_EXAMPLE.MESS_Z"

. . .

20 SQL Q5 "SELECT MESS_NR,MESS_X,MESS_Y,
MESS_Z FROM TAB_EXAMPLE"

. . .

30 SQL FETCH Q1 HANDLE Q5 INDEX+Q2

. . .

50 SQL ROLLBACK Q1 HANDLE Q5

Advertising