我调用之前都已经有
varialble man_num number;了
怎么还说没有说明呢?              PLS-00201: 必须说明标识符 'MAN_NUM'

解决方案 »

  1.   

    declare
    man_num number;
    begin
    exec count_num('m',man_num);
    end;
    /
      

  2.   

    试试这个:
    DECLARE
    out_num out NUMBER;
    BEGIN-- Now call the stored program
      count_num('m',out_num);-- Output the results
      dbms_output.put_line(SubStr('out_num = '||to_char(out_num),1,255));  COMMIT;
    EXCEPTION
    WHEN OTHERS THEN
      dbms_output.put_line('Error '||TO_CHAR(SQLCODE)||': '||SQLERRM);
    RAISE;
    END;
      

  3.   

    TO : GerryYang(轻尘) 
    declare
    man_num number;
    begin
    exec count_num('m',man_num);
    end;
    提示如下:
    exec count_num('m',man_num);
         *
    ERROR 位于第 4 行:
    ORA-06550: 第 4 行, 第 6 列:
    PLS-00103: 出现符号 "COUNT_NUM"在需要下列之一时:
    :=.(@%;
    符号 ":=" 被替换为 "COUNT_NUM" 后继续。
      

  4.   

    TO : qiaozhiwei(乔) 
    还是不行呀
    SQL> DECLARE
      2  out_num out NUMBER;
      3  BEGIN
      4  
      5  -- Now call the stored program
      6    count_num('m',out_num);
      7  
      8  -- Output the results
      9    dbms_output.put_line(SubStr('out_num = '||to_char(out_num),1,255));
     10  
     11    COMMIT;
     12  EXCEPTION
     13  WHEN OTHERS THEN
     14    dbms_output.put_line('Error '||TO_CHAR(SQLCODE)||': '||SQLERRM);
     15  RAISE;
     16  END;
     17  /
    out_num out NUMBER;
                *
    ERROR 位于第 2 行:
    ORA-06550: 第 2 行, 第 13 列:
    PLS-00103: 出现符号 "NUMBER"在需要下列之一时:
    :=.(@%;notnullrange
    defaultcharacter
    符号 ":=" 被替换为 "NUMBER" 后继续。
      

  5.   

    set serverout on
    declare
    man_num number;
    begin
      count_num('m',man_num);
      dbms_output.put_line('out_num = '||to_char(out_num))
    end;
      

  6.   

    我在调用时总提示我没有声明变量,不知道错哪里?
    SQL>variable man_num number;
    SQL>exec count_num('m',man_num);
    SQL>print man_num;
    SQL>/
    提示如下:
    BEGIN count_num('m',man_num); END;
                        *
    ERROR 位于第 1 行:
    ORA-06550: 第 1 行, 第 21 列:
    PLS-00201: 必须说明标识符 'MAN_NUM'
    ORA-06550: 第 1 行, 第 7 列:
    PL/SQL: Statement ignored   MAN_NUM
    ----------如何调用才能成功?=====================================
    exec count_num('m',:man_num);
      

  7.   

    DECLARE
    out_num NUMBER;
    BEGIN-- Now call the stored program
      test('m',out_num);-- Output the results
      dbms_output.put_line('out_num = '||TO_CHAR(out_num));  COMMIT;
    EXCEPTION
    WHEN OTHERS THEN
      dbms_output.put_line('Error '||TO_CHAR(SQLCODE)||': '||SQLERRM);
    RAISE;
    END;
    /
      

  8.   

    declare
    man_num number;
    begin
    count_num('m',man_num);
    end;
    /