各位大虾
      小弟现在需要更新某个 package body 里面的一个存储过程 A, 希望通过直接执行一段代码把那个存储过程替换掉,可是我尝试了如下的脚本确执行报错,不知道该如何写了,希望各位帮忙看看,谢谢了      CREATE OR REPLACE PKG_GFB_UTILS.PROCEDURE SP_GFB_TRUNC_INF (p_visible_set JOB_STATUS.VISIBLE_CLONE_SET%TYPE) is      BEGIN                   if p_visible_set = '1' then
                          //....................
                   ELSIF p_visible_set = '2' then
                          //....................
                   end if;      END SP_GFB_TRUNC_INF;

解决方案 »

  1.   

    不会吧,难道真的没有其它办法,只能直接改正! Oracle 不会这么烂吧,大家看看还有无其它可能性啊,万分感谢!
      

  2.   

    oracle数据字典里面都查不到package下的函数和存储过程的情报,估计应该不止单独修改。
    因为Oracle没有给你提供这样的接口。
      

  3.   

    没有办法的。
    因为要重新编译存储过程才行。这不是Oracle 这么烂,而是Oracle的安全性决定的。变通一下吧,用package下的函数和存储过程调用一个可执行的串,就是存储过程调用一个动态串来实现你的功能,看看。
      

  4.   

    引用 1 楼 iihero 的回复:
    除了重新编译,似乎没有别的什么途径