Transakcja, Dostępy do tabeli z instrukcjami sql 9.9 – HEIDENHAIN TNC 640 (34059x-04) Instrukcja Obsługi

Strona 321

Advertising
background image

Dostępy do tabeli z instrukcjami SQL

9.9

9

TNC 640 | Instrukcja obsługi dla operatora HEIDENHAIN-dialog tekstem otwartym | 4/2014

321

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

specyfikowany parametr Q. Parametr Q zostaje

przyporządkowany do kolumny – zostaje on połączony (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...). Wyselekcjonowanie

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 Odzytać wiersze z Result-set, zmieniać i/lub wstawić nowy

wiersz: – przejąć wiersz z Result-sets do parametrów Q

programu NC (SQL FETCH...) – przygotować zmiany w

parametrach Q i transferować do wiersza Result-set (SQL

UPDATE...

) – przygotować nowy wiersz tabeli w parametrach Q

i przekazać jako nowy wiersz do Result-set (SQL INSERT...)

4 Zakończenie transakcji. – zapisy w tabeli zostają zmienione/

uzupełnione: dane są przejmowane 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...). – zapisy tabeli

nie

zostały

zmienione/uzupełnione (tylko dostęp odczytu):ewentualne

blokowania są resetowane, 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