Salut,
j'ai un curseur et dans le traitement j'utilise ma boucle FOR pour fetcher le curseur, mais au debut etait rapide mais je ne sais ce qui est arrivé, quand le programme rentre dans la boucle FOR qui fetch le curseur reste de plus en plus de temps : au debut 1 min, aprés c'est 10 min maintenant 35 min.

et j'ai essyé la requette parametrée sur laquelle se base le curseur, elle s'execute vite elle renvois une centaine de lignes.
mais quand le programme en entier s'execute, dés que le programme arrive a la boule il met 30 min pour fetcher tout le curseur et j'ai meme mis en commentaire tout le traitement a l'interieur de la boucle FOR mais c'est toujours la meme lenteur.
j'ai meme changé la boucle FOR par LOOP exit when mais donne la meme chose.

je vous mis ici le code pour avoir une idée.

S.V.P si avez une idée pour resoudre ce probleme je vous remercie infiniment.
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
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
 
CURSOR c_sgv_bdo(p_date_route_de   DATE,
                 p_date_route_a    DATE) IS
SELECT *
FROM ODSHDV_SEGMENT_VOL sgv
where SGV.VOP_ROP_DT_DEP_PREV_Z between p_date_route_de and p_date_route_a
  AND sgv.vop_rop_trp_code=v_code_trans
  AND sgv.svl_code         != Ods_Constante_Pkg.cst_sgv_annule
  AND sgv.PROVENANCE='C6_OASIS'
  AND NOT EXISTS (SELECT 1
                    FROM WRKHDV_SSIM_FLIGHT sync
       WHERE sync.sgv_id = sgv.id AND sync.no_batch=v_no_batch);
begin
FOR v_sgv_bdo IN c_sgv_bdo(v_date_debut, v_date_fin)
            LOOP
              v_log_id := NULL;
           ----------------------------------------------------------------------------
              -- Pour chaque segment de vol de la BDO
           ----------------------------------------------------------------------------
           ----------------------------------------------------------------------------
              -- Si le segment de vol n'existe pas dans SSIM
           -- et qu'il n'est pas annulé dans la BDO
           ----------------------------------------------------------------------------
               v_rec_sgv_bdo.vop_rop_no_route          := v_sgv_bdo.vop_rop_no_route;
            v_rec_sgv_bdo.vop_rop_dt_dep_prev_z     := v_sgv_bdo.vop_rop_dt_dep_prev_z;
            v_rec_sgv_bdo.vop_rop_trp_code          := v_sgv_bdo.vop_rop_trp_code;
            v_rec_sgv_bdo.vop_no_vol                := v_sgv_bdo.vop_no_vol;
            v_rec_sgv_bdo.sufx_ops                  := v_sgv_bdo.sufx_ops;
            v_rec_sgv_bdo.aer_code_origine          := v_sgv_bdo.aer_code_origine;
               v_rec_sgv_bdo.aer_code_destination      := v_sgv_bdo.aer_code_destination;
            v_rec_sgv_bdo.avn_code                  := v_sgv_bdo.avn_code;
            v_rec_sgv_bdo.tpa_code                  := v_sgv_bdo.tpa_code;
            v_rec_sgv_bdo.tvl_code                  := v_sgv_bdo.tvl_code;
            v_rec_sgv_bdo.jr_ops                    := v_sgv_bdo.jr_ops;
               v_rec_sgv_bdo.dt_dep_planif_z           := v_sgv_bdo.dt_dep_planif_z;
               v_rec_sgv_bdo.dh_dep_planif_z           := v_sgv_bdo.dh_dep_planif_z;
               v_rec_sgv_bdo.dh_arr_planif_z           := v_sgv_bdo.dh_arr_planif_z;
            v_rec_sgv_bdo.dh_dep_revis_z            := v_sgv_bdo.dh_dep_revis_z;
            v_rec_sgv_bdo.dh_arr_revis_z            := v_sgv_bdo.dh_arr_revis_z;
               v_rec_sgv_bdo.dh_dep_barr_reel_z        := v_sgv_bdo.dh_dep_barr_reel_z;
            v_rec_sgv_bdo.dh_arr_barr_reel_z        := v_sgv_bdo.dh_arr_barr_reel_z;
               v_rec_sgv_bdo.dh_dep_piste_reel_z       := v_sgv_bdo.dh_dep_piste_reel_z;
            v_rec_sgv_bdo.dh_arr_piste_reel_z       := v_sgv_bdo.dh_arr_piste_reel_z;
                       -----------------------------------------------------------------------------------------------------------------------------------------------
                       -- Insérer la différence dans la table pour l'impression du rapport  de synchronisation des segments de vol
                       -- ON INSERE DES NULLS DANS LA APRTIE AIMS DANS LA TABLE WRKHDV_SYNCHRO CAR CES SEGEMENTS DE VOLS CODESHARE N'EXISTENT PAS DANS FICHIERS SSIM
                       ---------------------------------------------------------------------------------------------------------------------------------------------
                inserer_wrkhdv__SSIM_hdv0130r(v_no_batch,
                                              v_code_trans,
                                        null,
                                        v_rec_sgv_bdo,
                      2086,
                   'Trouvé dans BDO, non trouvé dans SSIM',
                       v_log_id);
            END LOOP;
end;