Я пытаюсь использовать значения из коллекции apex_t_numbers
в запросе SELECT
в качестве WITH
подзапроса:
atn_cur_ids := apex_string.split_numbers(arg_v_ids, ':');
-- So if arg_v_ids := '1:2:3', then atn_cur_ids := apex_t_numbers(1, 2, 3)
with t_cur_ids as (
select * as id from table(atn_cur_ids);
)
select text from t_texts
join t_cur_ids on t_texts.id = t_cur_ids.id
И вот проблема - apex_t_numbers
- это таблица number
, не типа record
с именованными полями.Oracle SQL не позволяет присваивать псевдонимы *
, даже если он имеет только один «анонимный» столбец.
Возможным решением может быть функция, которая
- получает
*
и - возвращает значение на строку
Но яЯ знаю только одно, которое может получить *
и вернуть что-то - count(*)
, и это не соответствует второму требованию.