0
我需要一些帮助,我想在ORACLE PL/SQL中构建一个过程,它将从表dba_indexes中获取不稳定索引的列表,并且此选择语句也将构建声明来修复/改变索引。ORACLE过程,变量和数据处理
所以我有SQL语句生成alter语句。
SELECT 'alter index '||owner||'.'||index_name||' rebuild online; '
FROM dba_indexes
WHERE status = 'N/A';
,输出是:
alter index OWNER.INDEX_NAME rebuild online;
这是完美的,这也是最终结果,那么我就必须让程序能够正常工作和执行ALTER语句,如果有任何if不是那么完成程序。
现在我的问题是如何将数据从SELECT语句保存到1个变量?之后,我将只检查变量是否为NULL,如果为null,则结束过程,如果不为null,则只执行此变量?
这是可能的和如何?
非常感谢您的帮助。
只需将dba_indexes的计数值转换为plsql块中的变量即可。如果计数大于0,则继续动态构建alter语句,否则退出。 – hemalp108