Я пишу функцию, которая в конечном итоге будет использовать один из нескольких возможных курсоров, для простоты я буду использовать два здесь. В теле функции я хочу использовать одну переменную для описания того, какой курсор используется. Я использую курсор ссылки для этого или что-то еще?
В приведенном ниже примере я хочу, чтобы FOR LOOP использовал либо C1, либо C2 в зависимости от значения myChar. Поэтому вместо того, чтобы помещать IF (или оператор CASE) вокруг всего цикла FOR LOOP, я хочу сделать переменную, которая в данный момент является C1. Это выполнимо?
СОЗДАТЬ ИЛИ ЗАМЕНИТЬ ФУНКЦИЮ MY_FUNCTION (myChar IN CHAR) ВОЗВРАТИТЬ INTEGER AS
КУРСОР С1 ЕСТЬ
ВЫБЕРИТЕ FIRST_NAME
ОТ СОТРУДНИКОВ;
CURSO C2 IS
ВЫБЕРИТЕ LAST_NAMES
ОТ СОТРУДНИКОВ;
НАЧАТЬ
ДЛЯ X IN C1 LOOP
- DO STUFF
КОНЕЦ ЦИКЛА;
ВОЗВРАТ 1;
END MY_FUNCION;