Una transazione, Accessi alle tabelle con istruzioni sql 9.8 – HEIDENHAIN TNC 620 (81760x-01) ISO programming Manuale d'uso
Pagina 283

Accessi alle tabelle con istruzioni SQL
9.8
9
TNC 620 | Manuale utente Programmazione DIN/ISO | 4/2014
283
Una transazione
In linea di principio una transazione si compone delle azioni:
indirizzamento della tabella (file), selezione di righe e
trasferimento nel result-set,
lettura righe dal result-set, modifica e/o aggiunta di nuove righe,
chiusura della transazione: in caso di modifiche/completamenti
le righe del result-set vengono inserite nella tabella (file).
Sono tuttavia necessarie ulteriori azioni affinché le voci delle tabelle
possano essere elaborate nel programma NC e non sia possibile
modificare in parallelo le stesse righe delle tabelle. Ne risulta la
seguente
procedura di transazione
:
1 Per ogni colonna da elaborare viene specificato un parametro
Q. Il parametro Q viene assegnato alla colonna, viene collegato
(
SQL BIND...).
2 Indirizzamento della tabella (file), selezione di righe e
trasferimento nel result-set. Definizione inoltre delle colonne da
trasferire nel result-set (
SQL SELECT...). Le righe selezionate
possono essere bloccate. Altri processi possono quindi
accedere in lettura a tali righe, ma non possono modificare le
voci delle tabelle. Le righe selezionate devono essere sempre
bloccate se si apportano modifiche (
SQL SELECT ... FOR
UPDATE).
3 Lettura righe dal result-set, modifica e/o aggiunta di nuove righe:
– conferma di una riga del result-set nei parametri Q del proprio
programma NC (
SQL FETCH...) – predisposizione di modifiche
nei parametri Q e trasferimento in una riga del result-set (
SQL
UPDATE...) – predisposizione di una nuova riga della tabella nei
parametri Q e trasferimento come nuova riga nel result-set (
SQL
INSERT...)
4 Chiusura della transazione: – le voci della tabella sono state
modificate/integrate: i dati vengono acquisti nella tabella (file)
dal result-set. Sono ora memorizzati nel file. Eventuali blocchi
vengono eliminati, il result-set viene abilitato (
SQL COMMIT...). –
le voci della tabella
non
sono state modificate/integrate (accessi
di sola lettura): eventuali blocchi vengono eliminati, il result-set
viene abilitato (
SQL ROLLBACK... SENZA INDEX).
È possibile elaborare in parallelo diverse transazioni.
Chiudere sempre una transazione iniziata, anche se si
impiegano esclusivamente accessi di lettura. Soltanto
in questo modo si assicura di non perdere modifiche/
integrazioni, i blocchi vengono eliminati e il result-set
viene abilitato.