create or replace procedure test
(your_count in out number)
as
begin
  select count(*) into your_count from flag6;
  return your_count;
end test;

解决方案 »

  1.   

    1.你的程序是创建了一个存储过程test
      在sql/plus下执行用       exec test;
    2.论坛上已经问了很多这样的问题,用一下搜索吧。
      

  2.   

    再sqlplus运行 @test
    www.oradb.net有教程
      

  3.   

    不行啊!
    警告: 创建的过程带有编译错误。SQL> show errors
    PROCEDURE TEST 出现错误:LINE/COL ERROR
    -------- ----------------------------------------------------
    6/3      PLS-00372: 在一个过程中,RETURN 语句无法包含表达式
    6/3      PL/SQL: Statement ignored
      

  4.   

    直接运行exec test 也出错啊。
    SQL> exec test
    BEGIN test; END;      *
    ERROR 位于第 1 行:
    ORA-06550: 第 1 行, 第 7 列:
    PLS-00306: 调用 'TEST' 时参数数量或类型错误
    ORA-06550: 第 1 行, 第 7 列:
    PL/SQL: Statement ignored
      

  5.   

    过程不需要return,函数才需要.
    建议去看看oracle自带的文档,有很多好的例子.
      

  6.   

    var www
    exec test(www)
    print www
      

  7.   

    sorry,大意了
    用匿名pl/sql块吧:
    declare
      my_count number;
    begin
      test(my_count);
    end;
      

  8.   

    jlandzpa(ORA-00600) 
    按你说的运行,错误如下必须说明标识符 'WWW'改成 var www number 也一样。怎么会这样呢,这可是最简单的过程了吧。mygod
      

  9.   

    black_dragon(半仙)
    运行成功了,怎么显示呢?
      

  10.   

    ok了!!
    我是这样做的 set serveroutput on; declare
       my_count number;
     begin
       test(my_count);
       dbms_output.put_line(my_count); 
     end;
     /显示222。
    感谢各位!!!
      

  11.   

    终于好了,呵呵。
    我是这样做的:
    set serveroutput on;declare
      my_count number;
    begin
      test(my_count);
      dbms_output.put_line(my_count); 
    end;
    /谢谢各位了!!!!