如何写一个oracle查询全表数据的存储过程
table:id number,
name varchar2(20)

解决方案 »

  1.   


    这个需要游标的。
    从一个帖子里copy的sample:create or replace procedure AA_SXJTEST is
      out_gg number(8);
      cursor v_cur is select id from t_gzgl_zxjr_list;
    begin
      open v_cur;
      fetch v_cur into out_gg;
      while v_cur %found loop
        DBMS_OUTPUT.put_line('out_gg变量的值=:'||out_gg);
        fetch v_cur into out_gg;
      end loop;
      close v_cur;
    end AA_SXJTEST;
      

  2.   

    create or replace procedure xxx is 
    begin 
      for r in select id,name from xxx loop
        dbms_output.put_line('id=:'||r.id||', name:='||r.name); 
      end loop; 
    end;
      

  3.   

    除了用游标外,在oracle9i后,可以用“管道化表函数”的方法
      

  4.   

    create or replace procedure Query_t1
    is 
    beginfor cur in (select kqxm,kqid from t1)
    loop
    dbms_output.put_line(cur.kqxm ||cur.kqid);
    end loop;end Query_t1;