Я хочу сгруппировать свои записи базы данных по атрибуту и знать, какие записи находятся в каждой группе одновременно. Я собираю идентификаторы сгруппированных записей с помощью функции Oracle COLLECT СБОР Функция
DECLARE
TYPE ids_type IS TABLE OF number(19, 0);
ids ids_type;
BEGIN
select cast(collect(r.id) as ids_type) into ids from rechnungsdaten r group by r.status;
END;
Но затем я получаю сообщение об ошибке:
Отчет об ошибке -
ORA-06550: строка 5, столбец 44:
PL/SQL: ORA-00902: неверный тип данных
ORA-06550: строка 5, столбец 5:
PL/SQL: SQL Оператор проигнорирован
06550. 00000 - "строка %s, столбец %s:\n%s"
*Причина: обычно ошибка компиляции PL/SQL.
*Действие:
Что здесь не так?
number(19,0)
. Во-вторых, вам нужно представить, как выглядитrechnungsdaten
(определение таблицы). - person FDavidov   schedule 20.07.2018INSERT INTO .... SELECT xyz FROM ...
. В ORACLE вы можете иметь вложенные таблицы (т. е. столбец таблицы может быть таблицей сам по себе), и я думаю, что это основное использование функцииCOLLECT
(это всего лишь предположение, и я могу ошибаться). - person FDavidov   schedule 20.07.2018