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.
HEIDENHAIN TNC 640
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
301