Variable mise en mémoire cache ?
Bonjour à tous.
Code:
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.