小编sat*_*esh的帖子

如何在plsql中的过程体内创建游标

我想动态地在程序体内创建游标,我也必须使用for循环而不是代码.我做了动态光标,但我不能使用for循环.

PROCEDURE myprocedure
AS
  LV_TEST_CUR SYS_REFCURSOR;
  LV_QUERY VARCHAR2(200);
  LV_DATE  DATE;
BEGIN
  LV_QUERY:='select sysdate as mydate from dual';
  OPEN LV_TEST_CUR FOR LV_QUERY;
  /*FOR CUR_VAR IN LV_TEST_CUR
  LOOP
  dbms_output.put_line(CUR_VAR.mydate);
  end LOOP;
  */
  LOOP
    FETCH LV_TEST_CUR INTO LV_DATE;
    EXIT
  WHEN LV_TEST_CUR%NOTFOUND;
    DBMS_OUTPUT.PUT_LINE(LV_DATE);
  END LOOP;
  CLOSE LV_TEST_CUR;
END myprocedure;
Run Code Online (Sandbox Code Playgroud)

如果我使用注释代码(for循环),我会收到错误

PLS-00221:不是程序或未定义.

是否可以在动态游标中使用for循环?

sql oracle plsql plsqldeveloper

4
推荐指数
1
解决办法
5万
查看次数

标签 统计

oracle ×1

plsql ×1

plsqldeveloper ×1

sql ×1