Bonjour,

je suis actuellement sur un projet asser gros, qui prend actuellement du temps malgré plusieurs optimisations, et le dernier moyen qui pourrait m'en faire gagner un paquer serait de stocker les données d'un curseur afin d'éviter d'avoir à sans cesse le recharger.

Toutefois je n'ai encore rien trouver qui puisse m'aider dans cette voies, donc voila ma question :

est-il possible de stocker les données récupérées par un cursor dans un objet, ceci afin d'éviter d'avoir à le recharger à chaque fois ?

Pour info : la requète peux facilement retourner une cinquantaine de ligne.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
SELECT distinct str_ref.no_structure_reference, str_enr.code_structure, str_ref.no_niveau, str_ref.ordre_enregistrement, str_ref.fin_de_niveau, str_enr.position, str_enr.longueur, str_enr.donnee, str_enr.position_dans_la_donnee, str_enr.longueur_dans_la_donnee, str_enr.valeur_par_defaut, str_enr.decimales, str_enr.ctrl_a_effectuer_sur_donnees, str_enr.presence, enr.longueur_enregistrement, str_enr.operation, str_ref.a_ecrire_o_n, str_enr.type, str_enr.diviseur_multiplicateur, str_enr.arr_decimal, str_enr.methode_arr, str_enr_2.donnee as donnee_concernee, str_enr_2.valeur_par_defaut as valeur_par_defaut_concernee
FROM table_reference refe, table_structure_reference str_ref, table_structure_enr_2 str_enr, table_enregistrement enr, table_structure_enr_2 str_enr_2
WHERE refe.code_reference = code_refe
AND str_ref.code_reference = refe.code_reference
AND enr.no_enregistrement_interne = str_ref.no_enregistrement
AND enr.no_enregistrement_interne = str_enr.no_enregistrement
AND str_enr.position <= enr.longueur_enregistrement
AND str_enr.code_structure_concernee = str_enr_2.code_structure (+)
ORDER BY str_ref.no_niveau, str_ref.ordre_enregistrement, str_enr.position;