select * from table where i between StartNumber and EndNumber;
改成
select * from table where  StartNumber<=i and EndNumber>=i;理由自己想~

解决方案 »

  1.   

    改了。报错PLS-00428:在此select语句中缺少into子句
      

  2.   

    oracle 不可以直接使用select返回数据集,要使用游标变量ref cursor
    create packege pg is
        type r_cursor is ref cursor;
    end;
    create or replace procedure cur_record(v_cur in r_cursor)
    begin
        open v_cur for  select * from table where i between StartNumber and EndNumber;end cur_record;
      

  3.   

    可以在你的存储过程中声明一个带变量的游标
    declare
      ...
      cursor mycru(inta in number) as
        select * from table where StartNumber<=inta and EndNumber>=inta;
    begin
      ...
      
      while i<100 LOOP
        i:=i+1;
        open mycru(i);
        fetch mycru into ...;
        while mycru%found loop
          ...相关的处理...
          fetch mycru into ...;
        end loop;
        close mycur;
      END LOOP;
    end;