Sql commit, Sql rollback, 8 a c cessi a tabelle con istr uzioni sql – HEIDENHAIN TNC 640 (34059x-01) ISO programming Manuale d'uso

Pagina 266

Advertising
background image

266

Programmazione: parametri Q

8.8 A

c

cessi a tabelle con istr

uzioni SQL

SQL COMMIT

SQL COMMIT

trasferisce tutte le righe presenti nel result-set di nuovo

nella tabella. Un blocco impostato con SELCT...FOR UPDATE viene
annullato.

L'handle predefinito con l'istruzione SQL SELECT perde la propria
validità.

U

Nr. parametro per risultato

: parametro Q in cui il

server SQL fornisce il risultato:
0: nessun errore verificatosi
1: errore verificatosi (handle errato o stesse voci nelle
colonne in cui sono richieste voci univoche)

U

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 di SQL ROLLBACK dipende dalla programmazione
dell'INDICE:

„

INDICE

non programmato: il result-set non viene riscritto nella

tabella (eventuali modifiche/integrazioni vanno perse). La
transazione viene conclusa; l'handle predefinito con SQL SELECT
perde la propria validità. Applicazione tipica: si conclude una
transazione con accessi esclusivamente in lettura.

„

INDICE

programmato: la riga indicizzata rimane invariata; tutte le

altre righe vengono eliminate dal result-set. La transazione non
viene conclusa. Un blocco impostato con SELCT...FOR UPDATE
rimane invariato per la riga indicizzata; per tutte le altre righe viene
ripristinato.

U

Nr. parametro per risultato

: parametro Q in cui il

server SQL fornisce il risultato:
0: nessun errore verificatosi
1: errore verificatosi (handle errato)

U

Banca dati: ID di accesso SQL

: parametro Q con

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

U

Banca dati: indice per risultato SQL

: riga che deve

rimanere nel result-set. Il numero di riga viene
indicato direttamente o si programma 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