如何在 Oracle 中创建触发器来重建索引?
create or replace
TRIGGER BI_NAME_SEARCH AFTER INSERT OR UPDATE ON PROFILE
FOR EACH ROW
BEGIN
ALTER INDEX MYINDEX REBUILD;
END;
这是行不通的。
你永远不想这样做:
如果您需要重建索引,这应该作为标准系统维护的一部分来完成,而不是即时进行。如果您需要即时重建索引,那么您正在做一些使索引无法使用的事情。不要做任何事情。解决问题的根本原因而不是症状。
要真正回答您的问题(再次不要这样做),您需要使用动态 DDL 以便在 PL/SQL 中执行 DDL。使用立即执行
execute immediate 'alter index myindex rebuild';