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