次のデータを含む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
が同じ場合は行を配列に追加し、そうでない場合は特定のジョブを実行して配列を空にします。
このロジックは最後の行まで機能します。最後の行には空の配列があり、特定の仕事をすることができなかったからです。
これを達成するための提案はありますか?