0

以下のコード スニペットを分析し、カーソル内の次のレコードにスキップする方法を提案してください。

始める

OPEN cs_migrate_drop_ntd_object_status;

LOOP

    FETCH cs_migrate_drop_ntd_object_status BULK COLLECT INTO r_current_loc_equip LIMIT 200;

    FOR i IN 1..r_current_loc_equip.COUNT
    LOOP
        IF ( r_current_loc_equip(i).status = 'YES' ) THEN
            **-- Here I want to skip to next record fetched by the bulk collect cursor**
        ELSE
            Do something else;
4

1 に答える 1

4

CONTINUEを使用します。

FOR i IN 1..r_current_loc_equip.COUNT
LOOP
    IF ( r_current_loc_equip(i).status = 'YES' ) THEN
        CONTINUE;
    ELSE...

次のように使用することもできます。

FOR i IN 1..r_current_loc_equip.COUNT
LOOP
    CONTINUE WHEN r_current_loc_equip(i).status = 'YES';
    Do something else;

(なお、status='YES' の行を処理したくない場合は、最初からカーソルで選択しないでください。)

于 2014-06-05T12:49:45.997 に答える