是这样的
小弟定义变量如下
big_trade PRODUSRTB.WMRPT_BIGTRADE%rowtype;
TYPE ref_cursor_type is REF CURSOR;
select_cursor ref_cursor_type ;
PRODUSRTB.WMRPT_BIGTRADE这张表中间 有A,B,C,D,E,5列。游标select_cursor
是select a,b from table b where;
现在问题是这样的 我要把游标的查询结果 写到 big_trade.A,big_trade.C 怎么实现这个问题? 请各位不吝赐教

解决方案 »

  1.   

    如果查询select a,b from table b where...只返回一行,可以
    open select_cursor;
    fetch select_cursor into big_trade;
    但如果查询出来的结果集多于1行,那么无法将结果一次写入到一个big_trade变量中。
      

  2.   

    IF NOT select_cursor%ISOPEN THEN(看游标是否打开)
                       OPEN emp_cursor;(打开游标)
                    END IF;
                       LOOP
                          FETCH select_cursor INTO big_trade.A,big_trade.C;(将值放入变量,FETCH一次只能处理一行数据)
                          EXIT WHEN select_cursor%NOTFOUND;(%FOUND表示获得数据,%NOTFOUND表示没有获得数据)
                          
                       END LOOP;
                       close select_cursor;(关闭游标)