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

2016-02-19 13:54 6 1 收藏

生活已是百般艰难,为何不努力一点。下面图老师就给大家分享在Oracle中重编译所有无效的存储过程,希望可以让热爱学习的朋友们体会到设计的小小的乐趣。

【 tulaoshi.com - 编程语言 】

  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 As
 Strsql Varchar2(200);
Begin
 For x In (Select Object_Name From All_Objects Where Status = 'INVALID' And Object_Type = 'PROCEDURE') Loop
  Strsql := '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;

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

执行
exec Zl_Compile_Invalid_Procedure;

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

假如要看到无法重编译的过程的出错信息,需要执行前设置set serverout on

来源:http://www.tulaoshi.com/n/20160219/1605621.html

延伸阅读
标签: MySQL mysql数据库
  ACCESS是一个Client/Server的优秀前端开发工具,具有易学易用,界面友好,开发简单,和其他数据库接口灵活。但是,它要对大量数据处理时,速度比较慢。深圳供电局现有60万用户,下面有6个营业所,通过64K DDN 和局相连,如果有一个营业所要对1万用户进行处理的话,要花2~3小时,严重影响其他业务的开展。所以,当有大量数据需要处理...
内容或简介: /** 调用数据库里的一个函数 一个函数本质上一个返回一个结果的存储过程,这个例子示范了怎么调用有in、out和in/out参数的函数 ***********************************/ CallableStatement cs; try { // 调用一个没有参数的函数; 函数返回 a VARCHAR // 预处理callable语句 ...
标签: PHP
  PHP程序访问数据库,完全可以使用存储过程,有人认为使用存储过程便于维护 不过仁者见仁,智者见智,在这个问题上,偶认为使用存储过程意味着必须要DBA和开发人员更紧密配合,如果其中一方更变,则显然难以维护。 但是使用存储过程至少有两个最明显的优点:速度和效率。 使用存储过程的速度显然更快。 在效率上,如果应用一次需要做一系...
收藏到:                         1:首先你需要创建一个包,并定义你返回的游标的类型、存储过程 create or replace package TEST_PKG is     -- Public type declarations   type cur_emp is R...
为了查找这些存储过程,你可以花时间在互联网搜索,查看一些你还未知道的存储过程,也许在一两个小时您可能会发现你想要...也许你很幸运的找到,其他人在他们的文章中列出所有的存储过程 ,函数和视图,并介绍了如何使用这些存储过程。 但其实,您可以在一分钟之内就可以自己列出这些存储过程、函数和视图的清单!这份名单甚至包括SQL Server中...

经验教程

214

收藏

89
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部