Una transazione, 9 a ccessi a tabelle con istr uzioni sql – HEIDENHAIN TNC 320 (340 551-01) Manuale d'uso

Pagina 350

Advertising
background image

350

10 Programmazione: Parametri Q

1

0.9 A

ccessi a tabelle con istr

uzioni SQL

Una transazione

Come principio una transazione è costituita dalle azioni:

Indirizzamento della tabella (file), selezione delle righe e
trasferimento nel result-set.

Lettura delle righe dal result-set, modifica e/o inserimento di nuove
righe.

Chiusura della transazione. In caso di modifiche/completamenti le
righe del result-set vengono inserite nella tabella (file).

Tuttavia sono necessarie altre azioni affinché le registrazioni di tabella
possano essere elaborate nel programma NC e si possa evitare di
modificare parallelamente righe di tabella uguali. Da questo consegue
il seguente svolgimento di una transazione:

1

Per ciascuna colonna che deve essere modificata, viene
specificato un parametro Q. Il parametro Q viene assegnato alla
colonna – viene „legato“ (SQL BIND...).

2

Indirizzamento della tabella (file), selezione delle righe e
trasferimento nel result-set. Inoltre viene definito quali colonne
devono essere inserite nel result-set (SQL SELECT...).

Le righe selezionate possono essere „bloccate“. In tale caso altri
processi possono accedere a tali righe in lettura, ma non
modificare le registrazioni di tabella. Le righe selezionate
dovrebbero essere sempre bloccate se vengono apportate
modifiche (SQL SELECT ... FOR UPDATE).

3

Lettura di righe dal result-set, modifica e/o aggiunta di nuove righe:
– Inserire una riga del result-set nei parametri Q del programma NC
(SQL FETCH...)
– Preparare modifiche nei parametri Q e trasferirli in una riga del
result-set (SQL UPDATE...)
– Preparare una nuova riga di tabella nei parametri Q e trasferirla
nel result-set come nuova riga (SQL INSERT...)

4

Chiusura della transazione.
– Le registrazioni di tabella sono state modificate/completate: I dati
del result-set vengono inseriti nella tabella (file). Ora sono
memorizzati nel file. Eventuali blocchi vengono annullati, il result-
set viene abilitato (SQL COMMIT...).
– Le registrazioni di tabella non sono state modificate/completate
(solo accessi di lettura): Eventuali blocchi vengono annullati, il
result-set viene abilitato (SQL ROLLBACK... SENZA INDICE).

Si possono elaborare in parallelo più transazioni.

Chiudere sempre una transazione iniziata – anche se si
impiegano esclusivamente accessi di lettura. Solo in
questo modo si garantisce che non vadano perdute le
modifiche/completamenti, i blocchi siano annullati e il
result-set venga abilitato.

Advertising