0

我有一张hata包含以下数据的表格;

| sube  |  error_message |
--------------------------
|  5    |   sdadasdasdas |
|  5    |   sadadsadasda |
|  7    |   sadsadaslkgk |
|  7    |  aasdasdkfsjdj |
|  9    |   sjsjfjssdf   |

我有以下光标;

current_sube    NUMBER := 0;

CURSOR c_error
   IS 
   select sube, error_message
   from hata
   order by sube;

我正在拿这个

OPEN c_error;
    LOOP
    BEGIN

    FETCH c_error INTO hata_mail; 

    ----
    IF hata_mail.sube = current_sube
       add row to array;

    ELSE 
         do my job;
         empty array;
         current_sube = hata_mail.sube;

    ----

    END;
    END LOOP;

CLOSE c_error;

我的问题从FETCH陈述开始。

对于提取的每一行,如果sube列和current_sube相同,则将行添加到数组中,否则执行我的特定工作和空数组。

这个逻辑一直有效到最后一行,因为在最后一行,有一个非空数组,我无法完成我的具体工作。

有什么建议可以实现这一目标吗?

4

1 回答 1

1

在语句之前设置current_sube变量fetch并使用 . 检查最后一行cursor%rowcount

于 2013-11-08T12:54:40.293 回答