Oracle 重建所有表的索引的存储过程 (重建索引)
来源:互联网 发布:linux 获取cpu信息 编辑:程序博客网 时间:2024/06/05 22:34
CREATE OR REPLACE PROCEDURE P_REBUILD_ALL_INDEX(TABLESPACE_NAME IN VARCHAR2, --这里是表空间名,如果不改变表空间,可以传入NULL
ONLY_UNUSABLE IN BOOLEAN) --是否仅对无效的索引操作
AS
SQLT VARCHAR(200);
BEGIN
--只取非临时索引
FOR IDX IN (SELECT INDEX_NAME, TABLESPACE_NAME, STATUS
FROM USER_INDEXES
WHERE TEMPORARY = 'N') LOOP
--如果是如重建无效的索引,且当索引不是无效时,则跳过
IF ONLY_UNUSABLE = TRUE AND IDX.STATUS <> 'UNUSABLE' THEN
GOTO CONTINUE;
END IF;
IF (TABLESPACE_NAME IS NULL) OR IDX.STATUS = 'UNUSABLE' THEN
--如果没有指定表空间,或索引无效,则在原表空间重建
SQLT := 'ALTER INDEX ' || IDX.INDEX_NAME || ' REBUILD ';
ELSIF UPPER(TABLESPACE_NAME) <> IDX.TABLESPACE_NAME THEN
--如果指定的不同的表空间,则在指定表空间待建索引
SQLT := 'ALTER INDEX ' || IDX.INDEX_NAME || ' REBUILD TABLESPACE ' ||
TABLESPACE_NAME;
ELSE
--如果表空间相同,则跳过
GOTO CONTINUE;
END IF;
DBMS_OUTPUT.PUT_LINE(IDX.INDEX_NAME);
EXECUTE IMMEDIATE SQLT;
<<CONTINUE>>
NULL;
END LOOP;
END;
/*
功能:重建索引。
说明:如果表空间参数传入NULL,则在原表空间内重建索引,否则在目标表空间重建索引。
如果表空间相同,则跳过。
ONLY_UNUSABLE表示是否只对无效的索引进行重建
作者:81, 2007年6月26日
*/
- Oracle 重建所有表的索引的存储过程 (重建索引)
- Oracle 重建所有表的索引的存储过程 (重建索引)
- Oracle 重建所有表的索引的存储过程 (重建索引)
- sqlserver重建所有索引的存储过程
- 重建所有表的索引的存储过程
- ORACLE重建所有的索引
- 重建(重新组织)索引的存储过程
- 重建所有索引(Oracle)
- 重建索引存储过程
- sqlserver重建所有索引存储过程
- 存储过程中动态重建指定表的索引
- 重建+重组索引的过程
- 重建所有表索引
- Oracle 重建索引的必要性
- Oracle 重建索引的必要性
- [Oracle] ORACLE表与索引的分析及索引重建
- T-SQL重建所有数据库的所有表的索引
- Oracle表与索引的分析及索引重建
- $this->db->query($sql) 在一些php框架中,这种方式是怎么实现
- Android入门前言(一)之------Android应用开发入门五问
- $this->form_validation->run();
- php处理中文标点
- Get和Post的区别
- Oracle 重建所有表的索引的存储过程 (重建索引)
- Upgrading Oracle JInitiator with Oracle E-Business Suite 11i
- 通过经纬度计算地球两点间的距离
- WebRequest 模拟请求登录 终于搞定了!
- c#中textbox只能输入数字, 包括小数
- 【编程语言】Android--如何创建sdcard,向sdcard里面传送图片,更改sd卡权限
- 字符串查找算法之(一)KMP算法
- TMX Map Format
- Crystal Reports 2008 安装错误处理