Я ищу для вставки вложенной таблицы, поэтому я могу использовать запрос для изменения порядка значений. Поскольку нет ключевого имени, мне интересно, как будет выглядеть имя столбца?Oracle вложенная таблица вложенных таблиц и имя ключа значения
Я знаю, что это не правильный синтаксис, но это иллюстрация того, чего я хочу достичь.
CREATE OR REPLACE TYPE a_nested_table AS TABLE OF VARCHAR2(20);
CREATE OR REPLACE FUNCTION my_func RETURN VARCHAR2 IS
output VARCHAR2;
list a_nested_table := a_nested_table('foo', 'bar');
BEGIN
FOR current_record IN(
SELECT column_name INTO bar
FROM TABLE(CAST(list AS a_nested_table))
ORDER BY UPPER(column_name) ASC
) LOOP
output := output || current_record.column_name
END LOOP;
return output;
END my_func;
заказ пунктом с 'column_value' должен сделать трюк, вы попробуете? – Sebas
Вы всегда можете использовать позиционную нотацию, например. ORDER BY 1. Если это помогает мне вести блог о сортировке вложенной таблицы здесь: http://www.oraclefrontovik.com/2013/08/sorting-an-oracle-nested-table/ –
@Sebas Да, column_value работал. @IanCarpenter Я использовал 'FOR current_record IN (/ * select statement * /) LOOP'; насколько это отличается от вашего 'SELECT CAST (MULTISET (/ * select statement * /)) INTO nested_table FROM DUAL' метод? – gawpertron