Oracle собирает аналитическую функцию
Можно ли использовать команду 10g collect в качестве аналитической функции с помощью OVER PARTITION или каким-либо другим способом?
например
SELECT COLLECT(x) OVER (PARTITION BY y)
FROM table
Каждый раз, когда я пытаюсь это сделать, возникает исключение ora 3113, говорящее "конец файла на канале связи".
PS. Я знаю, что мне нужно привести результат, чтобы он был полезен, но ради простоты я оставлю его пока
1 ответ
Решение
COLLECT не является аналитической функцией, но может использоваться как групповая функция.
SELECT y, COLLECT(x) FROM table GROUP BY y
(Интересно, однако: COLLECT не указан как аналитическая функция, но если я попытаюсь использовать его таким образом, как в вашем примере, он сначала работает, затем останавливается после вывода некоторых результатов и выдает ORA-03113 как сказал.)