Вы не показывали свой реальный код, однако я думаю, что такую процедуру можно переписать, например, так:
DECLARE
res BOOLEAN
BEGIN
...SOME STUFF HERE...
FOR ..... LOOP
EXECUTE IMMEDIATE 'BEGIN res := '||condition||'; END;' USING OUT res;
IF res THEN
EXECUTE IMMEDIATE 'DML STRING';
END IF;
END LOOP;
END;
Обратите внимание, что в более ранней версии USING res
была возможна только для собственных данных SQLтипы, т. е. типы BOOLEAN или PL / SQL, были невозможны.Насколько я помню, эта функция была добавлена в Oracle 12.1, но я не уверен.