Bonjour à tous et merci d'avance de consacrer un peu de votre temps à mon petit souci
J'essaie de déclarer une variable avec la valeur de la partition courante.
Grosso modo, si je lance cette commande, ça fonctionne :
C'est une table partitionnée par List et les partitions sont déclarées avec des " ".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Begin dbms_stats.gather_table_stats(ownname=>'MANAG',tabname=>'HEADCOUNT_TOTAL',partname=>'"201010"',cascade=>true,DEGREE=> 2 ,METHOD_OPT => 'FOR ALL COLUMNS SIZE 1', granularity=>'PARTITION'); end; /
Par contre, si j'essaie de remplacer le nom de la partition en passant par une variable, j'obtiens :
L'erreur doit se situer au niveaux des doubles ou des simples quotes mais j'avoue avoir tout essayé et être un perdue...
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 set serveroutput on Declare max_partition varchar2(32) :=201010; Begin dbms_output.put_line(max_partition); dbms_stats.gather_table_stats(ownname=>'MANAG',tabname=>'HEADCOUNT_TOTAL',partname=>'"max_partition"',cascade=>true,DEGREE=> 2 ,METHOD_OPT => 'FOR ALL COLUMNS SIZE 1', granularity=>'PARTITION'); end; / 201010 Declare max_partition varchar2(32) :=201010; * ERROR at line 1: ORA-20000: max_partition invalid partition name ORA-06512: at "SYS.DBMS_STATS", line 13437 ORA-06512: at "SYS.DBMS_STATS", line 13457 ORA-06512: at line 4
Help please![]()
Partager