zoukankan      html  css  js  c++  java
  • 如何自动批量编译存储过程

    1.批量编译存储工程的存储过程

    create or replace procedure compile_invalid_procedures(
        p_owner varchar2 -- 所有者名称,即 SCHEMA
    ) as

    --编译某个用户下的无效存储过程

        str_sql varchar2(200);

    begin
        for invalid_procedures in (select object_name from all_objects
           where status = 'INVALID' and object_type = 'PROCEDURE' and owner=upper(p_owner))
        loop
            str_sql := 'alter procedure ' ||invalid_procedures.object_name || ' compile';
            begin
                execute immediate str_sql;
            exception
              --When Others Then Null;
                when OTHERS Then
                    dbms_output.put_line(sqlerrm);
            end;
        end loop;
    end;
    2.批量编译视图的存储过程

    create or replace procedure compile_invalid_views(
        p_owner varchar2 -- 所有者名称,即 SCHEMA
    ) as

    --编译某个用户下的无效存储过程

        str_sql varchar2(200);

    begin
        for invalid_views in (select object_name from all_objects
           where status = 'INVALID' and object_type = 'VIEW' and owner=upper(p_owner))
        loop
            str_sql := 'alter view ' ||invalid_views.object_name || ' compile';
            begin
                execute immediate str_sql;
            exception
              --When Others Then Null;
                when OTHERS Then
                    dbms_output.put_line(sqlerrm);
            end;
        end loop;
    end;

    3.创建JOB,调度批量编绎存储过程

  • 相关阅读:
    MYSQL数据库导入SQL文件出现乱码解决方法
    Mysql设置允许用户可以连接
    MongoDB 设置权限认证
    NodeJs 服务端调试
    Hudson 定时编译
    Ubuntu上NodeJs环境安装
    新开通博客
    war类型项目创建
    Maven项目创建
    Maven简介与配置
  • 原文地址:https://www.cnblogs.com/HondaHsu/p/2680451.html
Copyright © 2011-2022 走看看