Oracle собирает аналитическую функцию - PullRequest
1 голос
/ 29 октября 2009

Можно ли использовать команду 10g collect в качестве аналитической функции с помощью OVER PARTITION или другим способом?

, например

SELECT COLLECT(x) OVER (PARTITION BY y)
FROM table

Каждый раз, когда я пытаюсь это сделать, возникает исключение ora 3113, говорящее «конец файла в канале связи»

PS. Я знаю, что мне нужно привести результат, чтобы он был полезен, но ради простоты я пока оставляю его без внимания

1 Ответ

1 голос
/ 29 октября 2009

COLLECT не является аналитической функцией, но может использоваться как групповая функция.

SELECT y, COLLECT(x) FROM table GROUP BY y

(Интересно, однако: COLLECT не указан как аналитическая функция, но если я попытаюсь использовать его таким образом, как в вашем примере, он сначала работает, затем останавливается после вывода некоторых результатов и выдает ORA 03113, как вы сказали.)

...