Bonjour à tous.
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
CREATE OR REPLACE PROCEDURE ARCHIVAGE IS
 
	 CURSOR c_ldt(dt IN DATE) IS
 
			SELECT id_ligne FROM table1 WHERE date_debut <= dt FOR UPDATE;
 
	 minDate DATE;
 
BEGIN
 
	 SELECT MIN(date_debut) INTO minDate FROM table1;
	 minDate := last_day(minDate);
 
	 FOR cLdt IN c_ldt(minDate)
	 LOOP
 
			BEGIN
 
				 INSERT INTO table2
						SELECT * FROM table1 WHERE id_ligne = cLdt.id_ligne;
 
				 DELETE FROM table1 WHERE CURRENT OF c_ldt;
 
				 COMMIT;
 
			END LOOP;
 
	 END;
Je suis un peu confus, je voudrais savoir si Oracle mettra en cache la valeur de minDate ou si il le recalcule à chaque fois qu'on appelle cette variable.
Merci d'avance pour vos réponses.