create or replace procedure class_course 
is 
cursor  cur_a  is select nianji from yxy_class; 
cr  yxy_class.nianji%TYPE; 
begin 
  IF NOT cur_a%ISOPEN 
  THEN 
      OPEN cur_a; 
  END IF;   while cur_a%found 
    loop 
    fetch  cur_a  into  cr; 那这块out呢? 
    end  loop; close  cur_a; end class_course;
--------java模块---------
proc = conn.prepareCall("{ call class_course() }"); 
proc.execute(); rs = (ResultSet)proc.getObject(1); 
while (rs.next()) { 
      
  System.out.println("年级是="+rs.getObject("nianji") ); 
      

解决方案 »

  1.   

    dbms_output.put_line(cr); 就这样吗?但是还是出现无效列索引
      

  2.   

    create or replace procedure class_course is
      cursor cur_a is
        select name from tt;
      cr tt.name%TYPE;
    begin
      IF NOT cur_a%ISOPEN THEN
        OPEN cur_a;
      END IF;
      loop
        fetch cur_a
          into cr;
        exit when cur_a%notfound;
        dbms_output.put_line(cr);
      end loop;
      close cur_a;
    end class_course;
      

  3.   

    兄弟们,游标不用声明直接拿来用,for c in (sql) loop,工作了减轻自己的工作量就是给公司增加效益