我正在尝试从oracle数据库中的所有用户索引获取索引统计信息,我注意到“分析索引[INDEX]验证结构”可以一次使用,因此我尝试在pl / sql过程如下:
DeclARE
aux index_stats%ROWTYPE;
CURSOR names
IS
SELECT index_name
FROM user_indexes
WHERE table_owner = 'STUDENT';
BEGIN
FOR each IN names
LOOP
analyze index each.index_name validate structure; --This line
select name
into aux
from index_stats;
dbms_output.put_line( aux.index_name);
-- Do something with index_stats info
END LOOP;
END;
/
因此,每次循环时,表index_stats都会使用下一个用户索引进行更新,但这是行不通的。显示此错误:
当出现以下情况之一时遇到符号“ INDEX”: :=。 (@%;
是否可以在PL / SQL中使用使用分析索引[INDEX]验证结构,还是只需要找到另一种方法?
我在pl / sql过程中未发现有关使用分析索引的任何信息。 我找到了dbms_stats.gather_index_stats函数,但不适用于stats_index表