Условное определение курсора

У меня есть процедура в Oracle, которая принимает параметр varchar2 . На основе значения этого параметра мне нужно определить курсор. Курсор будет работать с разными таблицами в зависимости от значения параметра.

Я хотел сделать что-то подобное ниже, но это вызывает ошибку в фрагменте кода определения CURSOR . Есть идеи?

PROCEDURE GET_RECORDS(v_action IN VARCHAR2)
IS
CURSOR get_records
IS
       IF(v_action = 'DO THIS') THEN
           SELECT * from <THIS>;
       ELSE
           SELECT * from <THAT>;
       END IF;
BEGIN
       OPEN get_records;

       FETCH get_records
       INTO v_thing;

       v_loop := 0;
       WHILE get_records%FOUND
       LOOP

           FETCH get_records
           INTO v_thing;

       END LOOP;
       CLOSE get_records;
END;
7
задан Jika 7 November 2017 в 09:54
поделиться