8
Programmation : paramètres Q
8.9
Accès aux tableaux avec les instructions SQL
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
enregistrements dans le tableau puissent être traités dans le
programme CN et pour éviter en parallèle une modification de
lignes de tableau identiques. Il en résulte donc le
transaction
suivant :
1 Pour chaque colonne à traiter, 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 enregistrements du
tableau. Verrouillez toujours les lignes sélectionnées lorsque
vous voulez effectuer des modifications (SQL SELECT ... FOR
UPDATE).
3 Lire des lignes de Result-set, modifier et/ou ajouter de nouvelles
lignes : - Prendre en compte une ligne de Result-set dans les
paramètres Q de votre programme CN (SQL FECT...) - Préparer
les modifications dans les paramètres Q et les transférer dans
une ligne de Reuslt-set (SQL UPATE...) - Préparer une nouvelle
ligne de tableau dans les paramètres Q et la transférer à Reuslt-
set en tant que nouvelle ligne (SQL UPATE...)
4 Fermer la transaction - Les entrées dans le 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...). - Les
saisies dans le tableau n'ont
(uniquement accès à la lecture) : D'éventuels verrouillages sont
annulés, Result-set est activé (SQL ROLLBACK... SANS INDEX).
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é.
276
processus de
pas
été modifiées/complétées
TNC 620 | Manuel d'utilisation HEIDENHAIN-Conversationnel | 7/2013