Bonjours,

j'ai une table de très gros volume que je doit purger en fonction de certaine valeurs d'une colonne C_DATE.
Cette table étant partitionnée par trimestres, et dans un soucis d'optimisation
J'ai écris une proc PL/SQL utilisant un curseur, du type

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
 
...
Nom_Part varchar2(10);
...
cursor cur is
select Col_A, Col_B, Col_C
from Ma_table partition(Nom_Part)
where To_char(C_DATE,'MMRRRR') = var_mois||var_annee;
...
Begin
 
if (var_annee = '2001' and var_mois='12')
then
      Nom_Part := "Ma_Table_P1";
end if;
 
for rec in cur
loop
....
Mais celà ne fonctionne pas, lors que je lance ma procedure
Oracle me repond :"ORA-02149: Specified partition does not exist"

Alors que la dite partition existe bien...

y a t'il un moyen de passer un nom de partition via une variable?

merci d'avance..