Sql commit, Sql rollback – HEIDENHAIN TNC 640 (34059x-02) Instrukcja Obsługi

Strona 320

Advertising
background image

Programowanie: parametry Q

9.9

Dostępy do tabeli z instrukcjami SQL

9

320

TNC 640 | Instrukcja obsługi dla operatora HEIDENHAIN-dialog tekstem otwartym | 10/2013

SQL COMMIT

SQL COMMIT

transferuje wszystkie istniejące w Result-set wiersze z

powrotem do tabeli. Wyznaczona z SELCT...FOR UPDATE blokada

zostaje anulowana.
Nadany w instrukcji SQL SELECT handle traci swoją ważność.

Nr parametru dla wyniku

: parametr Q, w którym

serwer SQL melduje zwrotnie wynik:

0: nie pojawił się błąd

1: pojawił się błąd (błędny handle lub te same

wpisy w kolumnach, w których wymagane są

jednoznaczne zapisy)
Baza danych: SQL-dostęp-ID

: parametr Q, z

handle

dla identyfikacji Result-set (patrz także SQL

SELECT

).

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

"SELECTMESS_NR,MESS_X,MESS_Y,

MESS_Z FROM TAB_EXAMPLE"
. . .
30 SQL FETCH Q1HANDLE Q5 INDEX

+Q2
. . .
40 SQL UPDATEQ1 HANDLE Q5 INDEX

+Q2
. . .
50 SQL COMMITQ1 HANDLE Q5

SQL ROLLBACK

Wykonanie SQL ROLLBACK zależy od tego, czy INDEKS jest

zaprogramowany:

INDEKS

nie zaprogramowany: Result-set

nie

zostaje zapisany

do tabeli (ewentualne zmiany/uzupełnienia zostają zatracone).

Transakcja zostaje zakończona – nadany w SQL SELECT handle

traci swoją ważność. Typowe zastosowanie: operator zamyka

transakcję z wyłącznymi dostępami czytania.
INDEKS

jest zaprogramowany: indeksowany wiersz zostaje

zachowany – wszystkie inne wiersze zostają usunięte z

Result-set. Transakcja

nie

zostaje zakończona. Wyznaczona

z SELCT...FOR UPDATE blokada pozostaje zachowana dla

indeksowanego wiersza – dla wszystkich innych wierszy zostaje

ona skasowana.

Nr parametru dla wyniku

: parametr Q, w którym

serwer SQL melduje zwrotnie wynik:

0: nie pojawił się błąd

1: pojawił się błąd (błędny handle)
Baza danych: SQL-dostęp-ID

: parametr Q, z

handle

dla identyfikacji Result-set (patrz także SQL

SELECT

).

Baza danych: indeks odnośnie wyniku SQL

:

wiersz, który ma pozostać w obrębie Result-set.

Numer wiersza zostaje podawany bezpośrednio

lub operator programuje Q-parametr, zawierający

indeks.

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

"SELECTMESS_NR,MESS_X,MESS_Y,

MESS_Z FROM TAB_EXAMPLE"
. . .
30 SQL FETCH Q1HANDLE Q5 INDEX

+Q2
. . .
50 SQL ROLLBACKQ1 HANDLE Q5

Advertising