Une transaction
En principe, une transaction comporte les actions suivantes :
Adressage du tableau (fichier), sélection des lignes et transfert dans
Result-set.
Lire les lignes issues de Result-set, les modifier et/ou ajouter de
nouvelles lignes.
Fermer la transaction. Lors des modifications/compléments de
données, les lignes issues de Result-set sont transférées dans le
tableau (fichier).
D'autres actions sont toutefois nécessaires pour que les entrées du
tableau puissent être traitées dans le programme CN et pour éviter en
parallèle une modification de lignes de tableau identiques. Il en résulte
donc le processus de transaction suivant :
1 Pour chaque colonne qui doit être traitée, on définit un paramètre
Q. Le paramètre Q est affecté à la colonne – Il y est „lié" (SQL
BIND...).
2 Adressage du tableau (fichier), sélection des lignes et transfert
dans Result-set. Par ailleurs, vous définissez les colonnes qui
doivent être transférées dans Result-set (SQL SELECT...).
Vous pouvez verrouiller les lignes sélectionnées. Si par la suite
d'autres processus peuvent accéder à la lecture de ces lignes, ils
ne peuvent toutefois pas modifier les entrées de tableau.
Verrouillez toujours les lignes sélectionnées lorsque vous voulez
effectuer des modifications (SQL SELECT ... POUR MISE À JOUR).
3 Lire les lignes issues de Result-set, les modifier et/ou ajouter de
nouvelles lignes :
– Transfert d'une ligne de Result-set dans les paramètres Q de
votre programme CN (SQL FETCH...)
– Préparation de modifications dans les paramètres Q et transfert
dans une ligne de Result-set (SQL UPDATE...)
– Préparation d'une nouvelle ligne de tableau dans les paramètres
Q et transfert sous forme d'une nouvelle ligne dans Result-set (SQL
INSERT...)
4 Fermer la transaction.
– Des entrées de tableau ont été modifiées/complétées : les
données issues de Result-set sont transférées dans le tableau
(fichier). Elles sont maintenant mémorisées dans le fichier.
D'éventuels verrouillages sont annulés, Result-set est activé (SQL
COMMIT...).
– Des entrées de tableau n'ont pas été modifiées/complétées
(accès seulement à la lecture) : d'éventuels verrouillages sont
annulés, Result-set est activé (SQL ROLLBACK... SANS INDICE).
Vous pouvez traiter en parallèle plusieurs transactions.
Vous devez fermer impérativement une transaction qui a
été commencée – y compris si vous n'utilisez que l'accès
à la lecture. Ceci constitue le seul moyen de garantir que
les modifications/données complétées ne soient pas
perdues, que les verrouillages seront bien annulés et que
Result-set sera activé.
HEIDENHAIN TNC 620
235