Как стать автором
Обновить

Комментарии 9

Я правильно понимаю, что в общем в том, что положить во второй и прочие параметры, мы никак не лимитированы? То есть мы можем передать там имя второй, связанной, таблицы, и вернуть соответственно паровоз с дополнительными данными в дополнительных полях?

Опять же, я правильно понимаю, что строки возвращаемого функцией набора формально никак не коррелируют с исходными строками по количеству? Во всяком случае в последнем примере pivot-таблица должна вернуть куда как меньше строк, чем было в исходной таблице, и, видимо, возможна обратная ситуация, когда количество выходных строк будет больше, чем в исходной таблице (ну формально тот же unpivot).

Ну и вторичный вопрос - как порождается выходной набор физически? Сначала код полностью обрабатывает источник данных, формируя полный выходной набор, и только потом строки выходного набора фетчатся? Если да, означает ли это, что выходной набор безусловно материализуется?

Я правильно понимаю, что в общем в том, что положить во второй и прочие параметры, мы никак не лимитированы?

Да, все так

То есть мы можем передать там имя второй, связанной, таблицы, и вернуть соответственно паровоз с дополнительными данными в дополнительных полях?

Да, конечно

Опять же, я правильно понимаю, что строки возвращаемого функцией набора формально никак не коррелируют с исходными строками по количеству? Во всяком случае в последнем примере pivot-таблица должна вернуть куда как меньше строк, чем было в исходной таблице, и, видимо, возможна обратная ситуация, когда количество выходных строк будет больше, чем в исходной таблице (ну формально тот же unpivot).

Я не пробовал добавлять лишние строки, на насколько я понимаю, нам ничто не мешает это сделать - см. DBMS_TF.Put_Row_Set()

На последний вопрос не готов ответить

А секунды от какого до какого события? Чтобы сделать пивот или антипивот, по идее надо отфетчить все записи. А для javascript время у вас в единицах секунд для миллиона записей. Я не представляю, как можно отфетчить миллион записей за секунду.

В целом, с добавлением SQL Macro (table/scalar), необходимость в PTF практически отпала. Динамические PIVOT уж точно лучше делать через SQL Macro

Зарегистрируйтесь на Хабре, чтобы оставить комментарий