在Oracle中重新编译所有无效的存储过程
上一篇 /
下一篇 2008-03-14 14:12:00
/ 个人分类:ORA+SQL
在SQL_PLUS中:
spool ExecCompProc.sql select ´alter procedure
´||object_name||´ compile;´ From all_objects
where status = ´INVALID´ and object_type = ´PROCEDURE´;
spool off @ExecCompProc.Sql; |
整理成一个存储过程:
Create Or Replace Procedure Zl_Compile_Invalid_Procedure
AsStrsql Varchar2(200);BeginFor x In (Select Object_Name
From All_Objects Where Status = ´INVALID´
And Object_Type = ´PROCEDURE´) LoopStrsql := ´Alter
Procedure ´ || x.Object_Name || ´ Compile´;Begin Execute
Immediate Strsql; Exception--When Others Then Null;
When OTHERS Then dbms_output.put_line(Sqlerrm);
End;End Loop;End; |
最后执行:
exec Zl_Compile_Invalid_Procedure; |
如果要看到无法重编译的过程的出错信息,需要执行前设置set serverout on
导入论坛
引用链接
收藏
分享给好友
管理
举报
TAG: