Sql commit, Sql rollback – HEIDENHAIN TNC 128 (77184x-01) Manuel d'utilisation

Page 229

Advertising
background image

HEIDENHAIN TNC 128

229

8.9 A

ccès aux tableaux

a

v

e

c

-instr

uc

ti

ons SQ

L

SQL COMMIT

SQL COMMIT

retransfère dans le tableau toutes les lignes présentes

dans Result-set. Un verrouillage programmé avec SELCT...FOR UPDATE
est supprimé.

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

N° de paramètre pour résultat

: Paramètre Q dans

lequel le serveur SQL renvoie le résultat :
0 : aucune erreur constatée
1: erreur apparue (handle erroné ou enregistrements
identiques dans des colonnes dans lesquelles des
enregistrements clairs sont exigés.)

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

: Paramètre Q

avec le handle d'identification de Result-set (voir
également SQL SELECT).

SQL ROLLBACK

L'exécution de l'instruction SQL ROLLBACK dépend de la programmation
de l'INDEX :

INDEX

non programmé : Result-set ne sera pas retranscrit dans le

tableau (d'éventuelles modifications/données complétées seront
perdues). La transaction est terminée – le handle attribué lors de
l'instruction SQL SELECT n'est plus valide. Application typique : vous
terminez une transaction avec accès exclusif à la lecture.

INDEX

programmé : la ligne indexée est conservée – toutes les

autres lignes sont supprimées de Result-set. La transaction ne sera
pas fermée. Un verrouillage programmé avec SELCT...FOR UPDATE
est conservé pour la ligne indexée – Il est supprimé pour toutes les
autres lignes.

N° de paramètre pour résultat

: Paramètre Q dans

lequel le serveur SQL renvoie le résultat :
0 : aucune erreur constatée
1: erreur apparue (handle erroné)

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

: Paramètre Q

avec le handle d'identification de Result-set (voir
également SQL SELECT).

Banque de données : index de résultat SQL

: ligne

qui doit rester dans Result-set. Inscrivez directement
le numéro de ligne ou bien programmez le paramètre
Q contenant l'index.

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