又试了一下,把包内的过程的out参数varchar2(20)改成varchar2就可以了!
请问一下,为什么不可以定长?

解决方案 »

  1.   

    SQL> create or replace package pac_passport
      2   is
      3   procedure check_nickname(nickname in passport.nickname%type,result_string out varchar2);
      4   end pac_passport;
      5  /Package created
      

  2.   

    呵呵,,楼上的,,能否告诉我,为什么要把varchar2(20)改成varchar2啊,所有参数都不可以设定长度吗?
    另外,为什么你要在末尾加‘/’
    刚从sqlserver转向oracle,储多不明白,谢谢指教!
      

  3.   

    不能设置成定常  是ORACLE规定的  不太清楚
      

  4.   

    show error
    可以自己查看错误/表示结束的符号