Oracle DBMS_WARNING 包

 

create procedure compile(pkg_name varchar2) is
       warn_value varchar2(200);
       compile_stmt varchar2(200) :=
           'alter package '|| pkg_name ||' compile';
begin
  warn_value :=  ---- 保存当前设定
             dbms_warning.get_warning_setting_string;
  dbms_warning.add_warning_setting_cat(  -- 改变
             'PERFORMANCE','disable','session');
  execute immediate compile_stmt;
  dbms_waring.set_warning_setting_string( ---- 恢复
             warn_value,'session');
end;     

----------------------------------------------------       

declare
   procedure print(s varchar2) is
   begin
     dbms_output.put_line(s);
   end;
begin
  print('Warning settings before: '||
                 dbms_warning.get_warning_setting_string); 
  compile('my_package');
  print('Warning settings before: '||
               dbms_warning.get_warning_setting_string);   
end;
/
show errors package my_package     

 

posted @ 2013-12-11 23:35  聆听自由  阅读(294)  评论(0编辑  收藏  举报