Bonjour,
Je dois mettre en place un curseur "select for update" mais l'ordre de lecture des lignes se fait sur l'index cluster (colonnes de sélection par le WHERE) alors que je dois traiter les lignes dans un ordre différent. Bien sur la clause ORDER BY est interdite. Comment puis-je écrire autrement ce curseur.
Merci de votre aide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 EXEC SQL DECLARE C-09 CURSOR WITH HOLD FOR SELECT REF_MAND_FIX ,SUBSTR(CHAR(REF_MAND_IND),2,25) ,NO_PART ,ID_CREANR ,NOM_CREANR ,IBAN_DB ,BIC_DB ,NO_CTRAT ,D_CREAT FROM BMTMNDT WHERE NO_PART = :NO-PART AND NO_CTRAT = :NO-CTRAT ORDER BY D_CREAT_10 DESC ,REF_MAND_FIX DESC ,REF_MAND_IND DESC FOR UPDATE OF IBAN_DB ,BIC_DB ,D_CREAT_10 END-EXEC.
Partager