Una transazione – HEIDENHAIN TNC 640 (34059x-05) Manuale d'uso

Pagina 338

Advertising
background image

Programmazione: parametri Q

9.9

Accessi alle tabelle con istruzioni SQL

9

338

TNC 640 | Manuale utente

Dialogo con testo in chiaro HEIDENHAIN | 3/2015

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.

Advertising