Sql commit, Sql rollback, 10 .13 pr ogr a mmier -beispiele – HEIDENHAIN TNC 320 (340 551-01) Benutzerhandbuch

Seite 357

Advertising
background image

HEIDENHAIN TNC 320

357

1

0

.13 Pr

ogr

a

mmier

-Beispiele

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.

8

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)

8

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 pro-

grammiert 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 ande-

ren 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.

8

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)

8

Datenbank: SQL-Zugriffs-ID

: Q-Parameter, mit dem

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

).

8

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