Oracle 触发器重新生成索引

标签: 触发器 Oracle
发布时间: 2017/4/15 18:18:01
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

如何在 Oracle 重建索引,以便创建一个触发器?

create or replace  
 TRIGGER BI_NAME_SEARCH AFTER INSERT OR UPDATE ON PROFILE
FOR EACH ROW  
BEGIN  
   ALTER INDEX MYINDEX REBUILD;  
END;

这不工作。

解决方法 1:

你不想要这样做,过︰

  • 您将需要系统表,你真的不想要过上放一个触发器。
  • 然后,你需要动态执行 DDL 触发器,您并不想在这里做过中。

如果您需要重新生成索引应该作为标准的系统维护,不上飞的一部分。如果你有需要重建索引上飞然后你做一些使索引不可用。不要不管这是什么。修复问题,而不是这些症状的根本的原因。

其实回答你的问题 (再一次不要这样做) 你需要使用动态 DDL 才能在 PL/SQL 中执行 DDL。使用执行立即

execute immediate 'alter index myindex rebuild';
赞助商