Sql commit, Sql rollback – HEIDENHAIN TNC 128 (77184x-01) Manuel d'utilisation
Page 229
![background image](/files/815886/content/doc229.png)
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