Sql commit, Sql rollback – HEIDENHAIN TNC 320 (340 55x-03) Manuel d'utilisation

Page 421

Advertising
background image

HEIDENHAIN TNC 320

421

1

0

.9 A

ccès aux tableaux a

v

e

c instr

u

ctions SQL

SQL COMMIT

SQL COMMIT

transfère toutes les lignes présentes dans le Result set

vers le tableau. Un verrouillage mis avec SELCT...FOR UPDATE est
supprimé.

Le handle attribué lors de l'instruction SQL SELECT perd sa validité.

N° paramètre pour résultat

: Paramètre Q dans

lequel le serveur SQL acquitte le résultat:
0: Aucune erreur constatée
1: Erreur constatée (mauvais handle ou entrées
identiques dans des colonnes qui réclament des
entrées sans ambiguïté.)

Banque de données: Réf. accès SQL

: Paramètre Q

avec le handle d'identification du Result set (cf.
également SQL SELECT).

SQL ROLLBACK

L'exécution de l'instruction SQL ROLLBACK dépend de ce que l'INDICE
ait été programmé ou non:

„

INDICE

non programmé: Le Result set ne sera pas retranscrit vers

le tableau (d'éventuelles modifications/données complétées seront
perdues). La transaction est fermée – Le handle attribué lors de
l'instruction SQL SELECT perd sa validité. Application classique: Vous
fermez une transaction avec accès exclusivement à la lecture.

„

INDICE

programmé: Le ligne avec indice demeure – Toutes les

autres lignes sont supprimées du Result set. La transaction ne sera
pas fermée. Un verrouillage mis avec SELCT...FOR UPDATE reste mis
pour la ligne avec indice – Il est supprimé pour toutes les autres
lignes.

N° paramètre pour résultat

: Paramètre Q dans

lequel le serveur SQL acquitte le résultat:
0: Aucune erreur constatée
1: Erreur constatée (mauvais handle)

Banque de données: Réf. accès SQL

: Paramètre Q

avec le handle d'identification du Result set (cf.
également SQL SELECT).

Banque de données: Indice résultat SQL

: Ligne qui

doit demeurer dans le Result set. Inscrivez
directement le numéro de ligne ou bien programmez
le paramètre Q contenant l'indice.

Exemple:

11 SQL BIND Q881 "TAB_EXAMPLE.MESU_NO"

12 SQL BIND Q882 "TAB_EXAMPLE.MESU_X"

13 SQL BIND Q883 "TAB_EXAMPLE.MESU_Y"

14 SQL BIND Q884 "TAB_EXAMPLE.MESS_Z"

. . .

20 SQL Q5 "SELECT MESU_NO,MESU_X,MESU_Y,
MESU_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

Exemple:

11 SQL BIND Q881 "TAB_EXAMPLE.MESU_NO"

12 SQL BIND Q882 "TAB_EXAMPLE.MESU_X"

13 SQL BIND Q883 "TAB_EXAMPLE.MESU_Y"

14 SQL BIND Q884 "TAB_EXAMPLE.MESS_Z"

. . .

20 SQL Q5 "SELECT MESU_NO,MESU_X,MESU_Y,
MESU_Z FROM TAB_EXAMPLE"

. . .

30 SQL FETCH Q1 HANDLE Q5 INDEX+Q2

. . .

50 SQL ROLLBACK Q1 HANDLE Q5

Advertising