打印本文 打印本文 关闭窗口 关闭窗口
用DBMS_DDL包重编译PL/SQL对象
作者:武汉SEO闵涛  文章来源:敏韬网  点击数2782  更新时间:2007/11/14 10:59:32  文章录入:mintao  责任编辑:mintao
elect object_name, object_type from user_objects where status=''''INVALID'''';
 rec_columns cur_invalid_objects%ROWTYPE;
 err_status NUMERIC;
  BEGIN
  dbms_output.enable(10000);
  open cur_invalid_objects;
  loop
  fetch cur_invalid_objects into rec_columns;
  EXIT WHEN cur_invalid_objects%NOTFOUND;

  dbms_output.put_line
   (''''Recompiling '''' || rec_columns.object_type || ''''  '''' || rec_columns.object_name);
  dbms_ddl.alter_compile(rec_columns.object_type,NULL,rec_columns.object_name);
  end loop;
  close cur_invalid_objects;
  EXCEPTION
  When others then
  begin
  err_status := SQLCODE;
  dbms_output.put_line('''' Recompilation failed : '''' || SQLERRM(err_status));
 
  if ( cur_invalid_objects%ISOPEN) then
   CLOSE cur_invalid_objects;
  end if;
 
  exception when others then
  null;
 end;
 end;
 /


总结:
  ALTER_COMPILE可以代替手工而自动编译对象,查找那些无效的对象从而一个一个地编译.

上一页  [1] [2] 

打印本文 打印本文 关闭窗口 关闭窗口