Sql commit sql rollback, 9 dost ęp do tabeli z instrukcjami sql, Sql commit – HEIDENHAIN TNC 320 (340 551-02) Instrukcja Obsługi
Strona 382: Sql rollback
382
10 Programowanie: Q-parametry
10.9 Dost
ęp 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: parametr Q, 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-dostęp-ID: parametr Q, z handle
dla identyfikacji Result-set (patrz także SQL
SELECT).
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.
8
Nr parametru dla wyniku: parametr Q, w którym
serwer SQL melduje z powrotem wynik:
0: nie pojawił się błąd
1: wystąpił błąd (błędny handle)
8
Baza danych: SQL-dostęp-ID: parametr Q, z handle
dla identyfikacji Result-set (patrz także SQL
SELECT).
8
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.
Példa:
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
Példa:
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