Sql commit, Sql rollback – HEIDENHAIN TNC 640 (34059x-01) ISO programming Manuel d'utilisation
Page 265

HEIDENHAIN TNC 640
265
8.8 A
ccès aux tableaux a
v
e
c instr
u
ctions SQL
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é.
U
Nr. de paramètre pour résultat
: Paramètre Q dans
lequel le serveur SQL renvoie le résultat:
0: aucune erreur apparue
1: erreur apparue (handle erroné ou enregistrements
identiques dans des colonnes dans lesquelles des
enregistrements clairs sont exigés.)
U
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'INDICE:
INDICE
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
fermez une transaction avec accès exclusif à la lecture.
INDICE
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.
U
Nr. de paramètre pour résultat
: Paramètre Q dans
lequel le serveur SQL renvoie le résultat:
0: aucune erreur apparue
1: erreur apparue (handle erroné)
U
Banque de données: réf. accès SQL
: Paramètre Q
avec le handle d'identification de Result-set (voir
également SQL SELECT).
U
Banque de données: indice 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'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