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

Page 265

Advertising
background image

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

Advertising