Bonjour,
J'ai un traitement à effectuer sur l'année en cours ainsi que la précédente.
Sur les 2 années, je répète une même liste de requête qui me donne la liste des valeurs à insérer en fonction de données dans d'autres tables.
Afin d'éviter de répéter 2 fois les mêmes requêtes, je pensais faire une boucle for mais celle-ci ne fonctionne pas.
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
CREATE OR REPLACE procedure calcul_co
	(
... liste de paramètre
	) is 
		lAnneeA			number;		-- Année en cours
		lAnneeA1			number;		-- Année précédente
	begin
		-- Récupération de l'année en cours
		select extract(year from sysdate),extract(year from SYSDATE-365) into lAnneeA,lAnneeA1 from dual;
 
    LOOP
 
 		for i in lAnneeA..lAnneeA1 loop
			case i
				WHEN 2011 THEN DBMS_OUTPUT.PUT_LINE ('2011');
				WHEN 2012 THEN DBMS_OUTPUT.PUT_LINE ('2012');
			END CASE;
		end loop;
	end;
end;
/
Je ne rentre pas dans la boucle alors que mes valeurs sont bien 2011 et 2012.
Pourriez-vous, s'il vous plait, m'indiquer mon erreur quii semble simple mais que je ne trouve pas.
Cordialement