Sql commit, Sql rollback, Sql commit sql rollback – HEIDENHAIN TNC 620 (340 56x-03) ISO programming Instrukcja Obsługi

Strona 244: 8 dost ęp do t abeli z instrukcjami sql

Advertising
background image

244

Programowanie: Q-parametry

8.8 Dost

ęp do t

abeli 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ść.

U

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)

U

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.

U

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)

U

Baza danych: SQL-dostęp-ID: parametr Q, z handle

dla identyfikacji Result-set (patrz także
SQL SELECT).

U

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.

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

Advertising