我想在程序體內動態創建光標另外我還必須使用代替循環而不是下面的代碼。我做了動態光標,但我不能使用for循環。如何在plsql中創建程序體內的光標
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;
如果我使用註釋的代碼(用於環路)中,i得到錯誤
PLS-00221:不是過程或未定義。
是否有可能在動態光標中使用for循環?
我認爲這是關於程序的好選擇。它將簡單地代碼 – satheesh
如果我需要在循環內創建多個遊標,該怎麼辦? – Deckard