Transakcja, 9 dostp do tabeli z instrukcjami sql – HEIDENHAIN TNC 320 (340 551-01) Instrukcja Obsługi

Strona 350

Advertising
background image

350

10 Programowanie: Q parametry

10.9 Dostp do tabeli z instrukcjami SQL

Transakcja

Zasadniczo transakcja składa si z nast puj cych operacji:

Adresowanie tabeli (pliku), selekcjonowanie wierszy i transfer do
Result set.

Czytanie wierszy z Result set, zmiana i/lub wstawienie nowych
wierszy.

Zakończenie transakcji. W przypadku zmian/uzupełnień wiersze
z Result set zostaj przejmowane do tabeli (pliku).

Konieczne s jednakże dalsze operacje, aby móc dokonywać edycji
zapisów tabeli w programie NC i unikn ć równoległej zmiany tych
samych wierszy tabeli. Z tego wynika nast puj cy przebieg
transakcji
:

1

Dla każdej kolumny, która ma być edytowana, zostaje
wyspecyfikowany Q parametr. Q parametr zostaje
przyporz dkowany kolumnie – zostaje on „przywi zany“ (SQL
BIND...
).

2

Adresowanie tabeli (pliku), selekcjonowanie wierszy i transfer do
Result set. Dodatkowo definiujemy, które kolumny maj zostać
przej te do Result set (SQL SELECT...).

Operator może te wyselekcjonowane wiersze „zablokować“.
Wówczas inne procesy w systemie maj dost p czytania do tych
wierszy, ale nie mog zmienić zapisów tabeli. Należy zawsze
wtedy blokować wyselekcjonowane wiersze, kiedy dokonuje si
zmian (SQL SELECT ... FOR UPDATE).

3

Czytanie wierszy z Result set, zmiana i/lub wstawienie nowych
wierszy:
– Przej cie wiersza z Result set do Q parametrów programu NC
(SQL FETCH...)
– Przygotowanie zmian w Q parametrach i transfer do wiersza w
Result set (SQL UPDATE...)
– Przygotowanie nowego wiersza tabeli w Q parametrach i
przekazanie jako nowy wiersz do Result set (SQL INSERT...)

4

Zakończenie transakcji.
– Zapisy w tabeli zostały zmienione/uzupełnione: Dane z Result
set zostaj przejmowane do tabeli (pliku). S one obecnie
zapisane do pami ci w pliku. Ewentualne blokady zostaj
anulowane, Result set zostaje zwolniony (SQL COMMIT...).
– Zapisy w tabeli nie zostały zmienione/uzupełnione (tylko
dost p czytania): Ewentualne blokady zostaj anulowane,
Result set zostaje zwolniony (SQL ROLLBACK... OHNE
INDEX
).

Można opracowywać kilka transakcji równolegle.

Prosz koniecznie zamkn ć rozpocz t transakcj
nawet jeśli wykorzystuje si wył cznie dost p czytania.
Tylko w ten sposób zapewnia si , iż zmiany/uzupełnienia
nie zostaj zatracone, blokady zostaj anulowane i
Result set zostaje zwolniony.

Advertising