Sql commit, Sql rollback – HEIDENHAIN TNC 320 (34055x-06) Instrukcja Obsługi
Strona 278
Programowanie: parametry Q
8.9
Dostępy do tabeli z instrukcjami SQL
8
278
TNC 320 | Instrukcja obsługi dla operatora HEIDENHAIN-dialog tekstem otwartym | 11/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