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

2016-02-19 13:54 4 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;

整理成一个存储过程

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

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;

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

执行
exec Zl_Compile_Invalid_Procedure;

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

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

延伸阅读
标签: PHP
  PHP程序访问数据库,完全可以使用存储过程,有人认为使用存储过程便于维护 不过仁者见仁,智者见智,在这个问题上,偶认为使用存储过程意味着必须要DBA和开发人员更紧密配合,如果其中一方更变,则显然难以维护。 但是使用存储过程至少有两个最明显的优点:速度和效率。 使用存储过程的速度显然更快。 在效率上,如果应用一次需要做一系...
收藏到:                         1:首先你需要创建一个包,并定义你返回的游标的类型、存储过程 create or replace package TEST_PKG is     -- Public type declarations   type cur_emp is R...
内容或简介: /** 调用数据库里的一个函数 一个函数本质上一个返回一个结果的存储过程,这个例子示范了怎么调用有in、out和in/out参数的函数 ***********************************/ CallableStatement cs; try { // 调用一个没有参数的函数; 函数返回 a VARCHAR // 预处理callable语句 ...
方法1: X:\oracle\ora81\bin\wrap   iname=XXX   oname=XXX    方法2:9i在win2000下使用wrap加密存储过程,10g可以用加密包dbms_ddl.wrap或dbms_ddl.create_wrapped。 11.5.1 在win2000下使用wrap加密存储过程 wrap.bat rem 使用方法:wrap 待加密的文件名 set ...
sql server中翻页存储过程: Create           PROC blog_GetPagedPosts (  @PageIndex int,  @PageSize int,  @BlogID   int=0,  @PostType int=-1,   @CategoryID int=-1,   @Hiding     bit =0,   @Count  &...

经验教程

950

收藏

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