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

Pagina 359

Advertising
background image

HEIDENHAIN TNC 320

359

1

0.9 A

ccessi a tabelle con istr

uzioni SQL

SQL COMMIT

SQL COMMIT

trasferisce di nuovo nella tabella tutte le righe presenti nel

result-set. Un blocco impostato con SELCT...FOR UPDATE viene
annullato.

L’handle assegnato con l’istruzione SQL SELECT perde la sua validità.

8

N. parametro per risultato

: parametro Q in cui il

server SQL inserisce il risultato:
0: nessun errore registrato
1: errore comparso (handle non corretto o
registrazioni uguali in colonne in cui sono richieste
registrazioni univoche)

8

Banca dati: ID di accesso SQL

: parametro Q con

l’handle per l’identificazione del result-set (vedere
anche SQL SELECT).

SQL ROLLBACK

L’esecuzione del SQL ROLLBACK dipende da se è programmato l’INDICE:

„

INDICE

non programmato: Il result-set non viene riscritto nella

tabella (eventuali modifiche/completamenti vanno perduti). La
transazione viene chiusa – l’handle assegnato con l’istruzione SQL
SELECT

perde la sua validità. Applicazione tipica: Si chiude una

transazione con accessi esclusivamente di lettura.

„

INDICE

programmato: La riga indicizzata viene mantenuta – tutte le

altre righe vengono rimosse dal result-set. La transazione non viene
chiusa. Un blocco impostato con SELCT...FOR UPDATE viene
mantenuto per la riga indicizzata – viene annullato per tutte le altre
righe.

8

N. parametro per risultato

: parametro Q in cui il

server SQL inserisce il risultato:
0: nessun errore registrato
1: errore comparso (handle non corretto)

8

Banca dati: ID di accesso SQL

: parametro Q con

l’handle per l’identificazione del result-set (vedere
anche SQL SELECT).

8

Banca dati: Indice per risultato SQL

: riga che deve

rimanere nel result-set. Il numero di riga viene
indicato direttamente o viene programmato il
parametro Q che contiene l’indice.

Esempio:

11 SQL BIND Q881 "TAB_EXAMPLE.MESS_NR"

12 SQL BIND Q882 "TAB_EXAMPLE.MESS_X"

13 SQL BIND Q883 "TAB_EXAMPLE.MESS_Y"

14 SQL BIND Q884 "TAB_EXAMPLE.MESS_Z"

. . .

20 SQL Q5 "SELECT MESS_NR,MESS_X,MESS_Y,
MESS_Z FROM TAB_EXAMPLE"

. . .

30 SQL FETCH Q1 HANDLE Q5 INDEX+Q2

. . .

40 SQL UPDATE Q1 HANDLE Q5 INDEX+Q2

. . .

50 SQL COMMIT Q1 HANDLE Q5

Esempio:

11 SQL BIND Q881 "TAB_EXAMPLE.MESS_NR"

12 SQL BIND Q882 "TAB_EXAMPLE.MESS_X"

13 SQL BIND Q883 "TAB_EXAMPLE.MESS_Y"

14 SQL BIND Q884 "TAB_EXAMPLE.MESS_Z"

. . .

20 SQL Q5 "SELECT MESS_NR,MESS_X,MESS_Y,
MESS_Z FROM TAB_EXAMPLE"

. . .

30 SQL FETCH Q1 HANDLE Q5 INDEX+Q2

. . .

50 SQL ROLLBACK Q1 HANDLE Q5

Advertising