ли как-то возвращать из функции таблицу с заранее неопределенным количеством полей? Хотелось применить внутри функции crosstab и формировать для нее запрос динамически. То есть количество возвращаемых полей определяется результатом запроса внутри функции.
Или это дичь и надо думать над другим вариантом реализации?
Технически это возможно, но практически почти бесполезно, и для crosstab не поможет (в таком случае все поля для каждого вызова придётся правильно указывать при вызове, "снаружи"). Т.е. как-то так: SELECT x, y FROM your_function(parm1) AS (x int, y int, ...); Вообще не стоит заниматься оформлением результата (crosstab) на стороне базы данных, IMHO (потом что — цвета "ячеек" начнёте из запроса возвращать, к примеру? Или, может, графики "рисовать" в unicode? ;) ).
Сколько не бился с crosstab, а всё криво. Пришёл к JSON. Формирую в нем что нужно, а на стороне клиента не сложно развернуть в таблицу.
можно возвращать json,а внутри что хотите, хотите таблицу, хотите 2. но не уверен, что это хорошая мысль.
я бы отдал эту задачу на откуп клиенту, и возвращал таблицу в том виде, в котором она получается до кросстаба
Обсуждают сегодня