declare
STR VARCHAR2(400);
begin
-- 重建ORACLE索引
FOR TMP_IDX IN (SELECT TABLESPACE_NAME, OWNER, TABLE_NAME, INDEX_NAME
FROM ALL_INDEXES
WHERE OWNER = 'HNACMS'
AND temporary = 'N'
--AND TABLE_NAME = 'K_TASK'
--AND TABLESPACE_NAME <> 'HNACMS_INDX'
ORDER BY TABLESPACE_NAME, TABLE_NAME) LOOP
STR := 'ALTER INDEX ' || TMP_IDX.OWNER || '.' || TMP_IDX.INDEX_NAME ||
' Rebuild Tablespace HNACMS_INDX';
EXECUTE IMMEDIATE STR;
END LOOP;
end;
STR VARCHAR2(400);
begin
-- 重建ORACLE索引
FOR TMP_IDX IN (SELECT TABLESPACE_NAME, OWNER, TABLE_NAME, INDEX_NAME
FROM ALL_INDEXES
WHERE OWNER = 'HNACMS'
AND temporary = 'N'
--AND TABLE_NAME = 'K_TASK'
--AND TABLESPACE_NAME <> 'HNACMS_INDX'
ORDER BY TABLESPACE_NAME, TABLE_NAME) LOOP
STR := 'ALTER INDEX ' || TMP_IDX.OWNER || '.' || TMP_IDX.INDEX_NAME ||
' Rebuild Tablespace HNACMS_INDX';
EXECUTE IMMEDIATE STR;
END LOOP;
end;
本文介绍了一个使用PL/SQL过程批量重建Oracle数据库中指定所有者下的非临时索引的方法。通过循环遍历所有符合条件的索引,并执行ALTER INDEX语句来完成重建任务。
9222

被折叠的 条评论
为什么被折叠?



