Sql commit, Sql rollback – HEIDENHAIN TNC 620 (340 56x-03) ISO programming Manuel d'utilisation
Page 244

244
Programmation : Paramètres Q
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 mis 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 constatée
1: erreur constatée (handle erroné ou entrées
identiques dans des colonnes dans lesquelles des
entrées claires sont exigées.)
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 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é : la ligne avec indice demeure – Toutes les
autres lignes sont supprimées de 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.
U
Nr. 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 constatée (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 demeurer 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