Transakcja, 9 dost ęp do tabeli z instrukcjami sql – HEIDENHAIN TNC 320 (340 551-02) Instrukcja Obsługi

Strona 373

Advertising
background image

HEIDENHAIN TNC 320

373

10.9 Dost

ęp do tabeli z instrukcjami SQL

Transakcja

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

adresowanie tabeli (pliku), selekcja wierszy i transfer do Result-

set.

czytanie wierszy z Result-set, zmiana istniejących i/lub dołączanie

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 parametr Q. 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

blokować wyselekcjonowane wiersze, jeśli dokonano zmian

(SQL SELECT ... FOR UPDATE).

3 czytanie wierszy z Result-set, zmiana istniejących i/lub dołączanie

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.

– wpisy w tabeli zostały zmienione/uzupełnione: dane zostają

przejęte z Result-set do tabeli (pliku). Są one obecnie zapisane do

pamięci w pliku. Ewentualne blokady zostają anulowane, Result-

set zostaje zwolniony (SQL COMMIT...).

– wpisy w tabeli nie zostały zmienione/uzupełnione (tylko dostęp

czytania): ewentualne blokady zostają anulowane, Result-set

zostaje zwolniony (SQL ROLLBACK... BEZ INDEKSU).

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