PROCEDURE procMstMeterMonthReads (inCycle     ACCOUNT.Acct_Bill_Cycle_Code%Type,
                                  inProcDate  DATE) IS
  
   
   CURSOR curMaster (inCycle ACCOUNT.Code%Type) IS
    SELECT 字段(省)
    FROM   ACCOUNT A
    WHERE  省
             
  recMaster curMaster%ROWTYPE;   FOR recMaster IN curMaster(inCycle) 
   LOOP   SubMeter(recMaster ,out)三个地方的代码
问题是recMaster 定义成ROWTYPE 下面FOR recMaster IN curMaster(inCycle) LOOP如果游标的返回值是多条 那recMaster 记录里是不是就是多行多列?
既然多行多列了 那为什么还要LOOP???
SubMeter(recMaster ,out) 当recMaster作为参数传到另外个过程中去是不是有多条数据,然后在这个过程中循环操作,直到recMaster中的数据被操作完/
我感觉我这里有点昏了。
ROWTYPE是返回多行多列吗?

解决方案 »

  1.   

    ROWTYPE 是某个对象的一行.
    FOR recMaster IN curMaster(inCycle) LOOP 
    意思是:
    这个cursor curMaster(inCycle) 返回多行, 循环这个结果集, 拿其中的一行定义为recMaster以便循环里面的操作.
      

  2.   

    再加问个问题。  OPEN 游标 ;
      FETCH 游标 INTO dtMaxReadDate, vReadTime;
      CLOSE 游标 ;
      是返回单行吗?
      

  3.   

    FETCH 游标 INTO dtMaxReadDate, vReadTime;每次一行