请帮我解决我的Oracle程序问题。在我的包中,我有一个过程,我想声明一个使用动态查询的游标。
type DocList IS REF CURSOR;
curDocList DocList;
.
.
.
OPEN curDocList FOR v_sql; --v_sql has dynamic sql
...
FOR recDocStatusList IN curDocList
LOOP
当我尝试使用时 - 对于recDocStatusList IN curDocList,它给出了错误:[错误] PLS-00221(2262:34):PLS-00221:' CURDOCLIST'不是程序或未定义。
请帮我纠正这个问题。
答案 0 :(得分:1)
如果你愿意迭代光标,你可以在不使用FOR循环的情况下执行它。
选项1:
LOOP
FETCH curDocList INTO recDocStatusList;
EXIT WHEN curDocList%NOTFOUND;
...
END LOOP;
选项2:
FETCH curDocList INTO recDocStatusList;
WHILE (curDocList%FOUND)
LOOP
...
FETCH curDocList INTO recDocStatusList;
END LOOP;
一些注释: