您的位置:首页 > 数据库 > Oracle

Oracle编译无效对象;删除所有对象;

2009-12-19 22:45 363 查看
1 create or replace procedure compile_invalid_obj
2 as
3 /*
4 * 功能:编译当前用户下的无效 存储过程、视图、函数
5 * zhangxd 2009-9-7
6 */
7 str_sql varchar2(200);
8 v_count integer;
9 begin
v_count := 1;
dbms_output.put_line('----compile invalid obj begin----');
for invalid_procedures in
(
SELECT object_name,object_type FROM USER_OBJECTS
WHERE status = 'INVALID'
AND object_type in ('FUNCTION','PROCEDURE','VIEW')
)
loop
str_sql := 'alter '||invalid_procedures.object_type||' '||invalid_procedures.object_name||' compile';
begin
dbms_output.put_line(v_count || '->sql : '||str_sql);
execute immediate str_sql;
dbms_output.put_line(' compile success!');
exception
--When Others Then Null;
when OTHERS Then
dbms_output.put_line(' compile error : '||sqlerrm);
end;
v_count := v_count + 1;
end loop;
dbms_output.put_line('----compile invalid obj end----');
end;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: