В моей процедуре есть два курсора, которые отличаются только именем таблицы, к которой они присоединяются.
Используемый курсор определяется параметром, переданным в процедуру
if (param = 'A') then
DECLARE CURSOR myCursor IS
SELECT x,y,z
FROM table1 a, table2 b
BEGIN
FOR aRecord in myCursor
LOOP
proc2(aRecord.x, aRecord.y, aRecord.z);
END LOOP;
COMMIT;
END;
elsif (param = 'B') then
DECLARE CURSOR myCursor IS
SELECT x,y,z
FROM table1 a, table3 b -- different table
BEGIN
FOR aRecord in myCursor
LOOP
proc2(aRecord.x, aRecord.y, aRecord.z);
END LOOP;
COMMIT;
END;
end if
Я не хочу повторять код ради одной другой таблицы.
Любые предложения о том, как улучшить это?
Заранее спасибо