Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1531173
  • 博文数量: 3500
  • 博客积分: 6000
  • 博客等级: 准将
  • 技术积分: 43870
  • 用 户 组: 普通用户
  • 注册时间: 2008-05-03 20:31
文章分类

全部博文(3500)

文章存档

2008年(3500)

我的朋友

分类:

2008-05-04 20:23:43

一起学习

如何在Oracle中重编译所有无效的存储过程:

在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: Oracle

下载本文示例代码


如何在Oracle中重编译所有无效的存储过程如何在Oracle中重编译所有无效的存储过程如何在Oracle中重编译所有无效的存储过程如何在Oracle中重编译所有无效的存储过程如何在Oracle中重编译所有无效的存储过程如何在Oracle中重编译所有无效的存储过程如何在Oracle中重编译所有无效的存储过程如何在Oracle中重编译所有无效的存储过程如何在Oracle中重编译所有无效的存储过程如何在Oracle中重编译所有无效的存储过程如何在Oracle中重编译所有无效的存储过程如何在Oracle中重编译所有无效的存储过程
阅读(233) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~