最近在学存储过程,用PLSQL写,开始是写到Procedures下的,可以test存储过程好不好用。
现在做实际开发都是写在Packages和Package bodies下,其实不是很清楚为什么要写在这个下面,现在想执行一下写的东西好不好用,不知该怎么执行了,请教各位了,谢谢!

解决方案 »

  1.   

    写完 包和包体 执行之后
    想要调用包里的函数或者存储过程就使用package_name.function_name这种方式来调用
      

  2.   

    procedures  沒有返回值  換成function然後java調用     才能看出效果~
      

  3.   

    我现在包里写的是存储过程,想在PLSQL里调试存储过程是否好用。
      

  4.   


    是的,在PL/SQL中直接调用
      

  5.   


    和package里有function和procedure,和普通的function,procedure的调用一样,和他们不同的是,要多带上包名, 比如
    procedure没有返回参数,直接调用
    dbms_output.put_line('111');
    这里put_line是dbms_out包里的一个procedurefuction不能没有返回参数,
    所以需要用赋值的方法或者是select的方法
    select * from table(dbms_xplan.display)
    这里display是dbms_xplan包里的一个function。
      

  6.   

    我的PACKAGES是这样的:
    CREATE OR REPLACE PACKAGE PACK_BALANCE IS
      PROCEDURE PRO_BLANCE(IN_NENGETU IN VARCHAR2,      
                              IN_USERID  IN VARCHAR2, OUT_RET    
                           OUT NUMBER);
    END PACK_BALANCE;然后在PACKAGE BODY里写详细内容。你的意思是在SQL窗口里‘pack_balance.PRO_BLANCE('200907','080260','')’这样写吗?
    可是一执行SQL时会报‘ORA-00900:invalid SQL statement’的错误,
    是我写的不对吗?
      

  7.   

    exec pack_balance.PRO_BLANCE('200907','080260','')
      

  8.   


    begin
    pack_balance.PRO_BLANCE('200907','080260','');
    end;
    --or
    up