Я пытаюсь ВЫПОЛНИТЬ НЕМЕДЛЕННО весь цикл FOR LOOP, но он не работает. Это возможно?
BEGIN
FOR V_ROW IN (SELECT ROWNUM AS RN,ID AS ID FROM (SELECT ID FROM T_OPDM_PLANDEACCION WHERE IDOPORTUNIDAD=2 ORDER BY ORDEN)) LOOP UPDATE T_OPDM_PLANDEACCION SET ORDEN=V_ROW.RN WHERE ID=V_ROW.ID;END LOOP;
EXECUTE IMMEDIATE 'FOR V_ROW IN (SELECT ROWNUM AS RN,ID AS ID FROM (SELECT ID FROM T_OPDM_PLANDEACCION WHERE IDOPORTUNIDAD=2 ORDER BY ORDEN)) LOOP UPDATE T_OPDM_PLANDEACCION SET ORDEN=V_ROW.RN WHERE ID=V_ROW.ID;END LOOP';
END;
/
Вторая строка работает очень хорошо, но третья строка (EXECUTE IMMEDIATE 'FOR V_ROW ...') не работает. Строка внутри EXECUTE IMMEDIATE точно такая же, как во второй строке.
Мне нужно выполнить цикл FOR для параметрического выбора.