查询编译不通过的存储过程并重新编译

Posted 雅虎跳跳

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了查询编译不通过的存储过程并重新编译相关的知识,希望对你有一定的参考价值。

declare

cursor proce is Select Object_Name,owner,object_type From All_Objects Where Status = INVANID and 
(Object_type = PROCEDURE or lower(Object_type) = function);

Strsql Varchar2(200);

BEGIN    
    for i in proce loop
        Strsql:= Alter ||i.object_type|| ||i.owner||.||i.Object_name|| Compile;
        Begin
            Excute Immediate Strsql;
            Exception
            -- When others then Null;
            when others THEN
            dbms_output.put_line(i.owner||.||i.Object_name||---||Sqlerrm);
        end;
    end loop;
END;

 

以上是关于查询编译不通过的存储过程并重新编译的主要内容,如果未能解决你的问题,请参考以下文章

Mysql存储过程

存储过程(Stored Procedure)与游标(Cursor)

如何避免存储过程中不必要的重新编译?

分析存储过程重新编译的原因

如何开发编译部署调用智能合约

像存储过程一样慢,像查询一样快 - 不是参数嗅探