цикл внутри оракула курсора

Я создал ТИП

TYPE t_array IS TABLE OF VARCHAR2(15);

Функция, которая принимает строку, которая содержит «,» в качестве разделителя, и функция возвращает t_array, который в основном разделяет строку и возвращает список значений.

FUNCTION split_string(id IN VARCHAR2)
...
...
....
RETURN t_array;
END split_string;

Теперь моя хранимая процедура принимает в качестве входных данных длинную строку, вызывает функцию для разделения строки, проходит через t_array и возвращает CURSOR.

PROCEDURE p_get_xxx(p_id IN VARCHAR2,
                    p_cur_result OUT SYSREFCURSOR)
AS
  l_array schema_name.t_array;
BEGIN
  l_array := split_string(p_id);

  OPEN p_cur_result FOR

  FOR i IN l_array.first .. l_array.last
  LOOP
    SELECT * FROM ........
    WHERE ID = l_array(i);   
  END LOOP;
END p_get_xxx;

Я получаю ошибку компиляции в соответствии с:

Неожиданное «ЗА» вместо «(»

Есть ли лучший способ справиться с этим сценарием или я что-то здесь упускаю?

Ответы на вопрос(1)

Ваш ответ на вопрос