第二次迭代中的游标异常无效

时间:2015-07-14 12:20:31

标签: plsql oracle11g plsqldeveloper

第二次迭代时,我收到无效的游标异常。

LOAD_TABLE_REF_CURSOR(V_TARIFF_TABLE_ROWS); -- V_TARIFF_TABLE_ROWS is a sys_refcursor.

当我按照下面的方式进行迭代时。

LOAD_TABLE_REF_CURSOR(V_TARIFF_TABLE_ROWS);
    LOOP
        FETCH V_TARIFF_TABLE_ROWS INTO TAK_ROW;
        EXIT WHEN V_TARIFF_TABLE_ROWS%NOTFOUND;


    END LOOP;

循环内的控件第一次正常运行并且第二次将异常作为无效游标正好在FETCH语句中抛出。

第二次迭代有人会说错了吗。

1 个答案:

答案 0 :(得分:0)

invalid cursor错误产生于;     在打开游标之前的FETCH游标。     CLOSING游标后的FETCH游标。     在打开光标之前关闭光标。

LOAD_TABLE_REF_CURSOR(V_TARIFF_TABLE_ROWS);

open V_TARIFF_TABLE_ROWS;

    -- use V_TARIFF_TABLE_ROWS

close V_TARIFF_TABLE_ROWS;