Sql commit, Sql rollback, 9 dostp do tabeli z instrukcjami sql – HEIDENHAIN TNC 320 (340 551-01) Instrukcja Obsługi
Strona 359
HEIDENHAIN TNC 320
359
10.9 Dostp do tabeli z instrukcjami SQL
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ść.
8
Nr parametru dla wyniku: Q parametr, w którym
serwer SQL melduje z powrotem wynik:
0: nie pojawił si bł d
1: wyst pił bł d (niewłaściwy handle lub podobne
zapisy w kolumnach, w których konieczne s
jednoznaczne zapisy)
8
Baza danych: SQL ID dost pu: Q parametr, z
handle dla identyfikacji Result sets (patrz także
SQL SELECT).
SQL ROLLBACK
Wykonanie SQL ROLLBACK zależy od tego, czy INDEKS jest
zaprogramowany:
INDEKS nie zaprogramowany: result set nie zapisany do tabeli
(ewentualne zmiany/uzupełnienia s stracone). 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 zaprogramowany: indeksowany wiersz pozostaje
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.
8
Nr parametru dla wyniku: Q parametr, w którym
serwer SQL melduje z powrotem wynik:
0: nie pojawił si bł d
1: wyst pił bł d (niewłaściwy handle)
8
Baza danych: SQL ID dost pu: Q parametr, z
handle dla identyfikacji Result sets (patrz także
SQL SELECT).
8
Baza danych: indeks do SQL wyniku: wiersz,
który ma pozostać w Result set. Numer wiersza
zostaje podawany bezpośrednio lub operator
programuje Q parametr, zawieraj cy indeks.
Przykład:
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
Przykład:
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