修改了 package 里面 定义的procedure,在系统上面直接替换了新的关于package的sql脚本,然后做什么可以让 新脚本生效呢? 还是自动生效?

解决方案 »

  1.   

    如果package是当前运行的系统, 替换新的package.sql脚本后,如何生效呢?
    假如没有sql plus等第三方工具。
      

  2.   

    是要先编译下,然后替换现在运行系统上的sql吗?
    还是先替换,然后再系统上面编译才生效?
      

  3.   

    嗯  不过有时候需要多次编译才能成功 也许是plsql developer的bug吧  
      

  4.   

    直接sqlplus登录进去,执行sql,编译通过就生效了。
      

  5.   

    SQL> connect name/password;
    Connected.
    SQL> pkg.sql
    SP2-0024: Nothing to change.
    SQL>是这样做吗?
      

  6.   

    db_packages.sql :
    START package.sqlpackage.sql: 
    CREATE OR REPLACE PACKAGE package
    AS
       PROCEDURE A();如果修改了A(),需要怎么做才能让当前运行的系统生效呢?
      

  7.   

    SQL:
            a) 编译 package
                ALTER PACKAGE YOUR_PACKAGE                                                                                                 
                COMPILE SPECIFICATION;                                                                                                                
            b) 编译 package body
                ALTER PACKAGE YOUR_PACKAGE                                                                                                 
                COMPILE BODY;                      
    是这样编译吗?