Bonjour,

Je voudrais savoir s'il y a un intérêt au niveau du temps d'exécution dans le placement d'une conversion de données lors de l'appel d'un curseur.
Je m'explique à l'aide d'un exemple

Cas N°1 : Conversion dans le curseur

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
Déclaration du curseur :

CURSOR C_CURS(	
p_date_debut VARCHAR2, 
p_date_fin VARCHAR2)
IS
	SELECT	SUM(MNT_DBT_TTC), SUM(MNT_CDT_TTC)
	FROM	ECRITURE
	WHERE  DAT_ECR BETWEEN TO_DATE(p_date_debut,'DD/MM/YYYY')
                     AND TO_DATE(p_date_fin,'DD/MM/YYYY');

Appel du curseur :

IF NOT C_CURS%ISOPEN THEN
       OPEN C_CURS ('01/01/2006', '01/06/2007');
END IF;

Cas N°2 : Conversion avant l'appel du curseur

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
Déclaration du curseur :

CURSOR C_CURS(	
p_date_debut DATE,
p_date_fin DATE)
IS
	SELECT	SUM(MNT_DBT_TTC), SUM(MNT_CDT_TTC)
	FROM	ECRITURE
	WHERE	DAT_ECR BETWEEN p_date_debut AND p_date_fin;

Appel du curseur :
date_debut = TO_DATE('01/01/2006','DD/MM/YYYY')
date_fin = TO_DATE('01/06/2007','DD/MM/YYYY')
IF NOT C_CURS%ISOPEN THEN
       OPEN C_CURS (date_debut, date_fin);
END IF;
Merci pour vos réponses