Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

CrossTab в Interbase


sashag ©   (2003-10-30 13:03:00) 

Привет всем.

Возникла необходимость в создании перекрестного запроса в Interbase 6.0. Возможно ли это?


Val   (2003-10-31 10:44:00) [1]

>Zacho © (30.10.03 18:26) [6]
посмотрел ситаксис, действительно, в IB так нельзя :(


Zacho   (2003-10-30 19:33:00) [2]

Тоже вариант, но так как в IB операторы DDL не доступны в ХП, то все равно задачу придется разбить на три части : формирование запроса и структуры таблицы, создание таблицы, выполнение запроса и заполнение таблицы.


Sandman25   (2003-10-30 18:29:00) [3]

В любом случае можно сделать таблицу и записать в нее результат с помощью хранимой. Если временных таблиц нет, то можно генерировать уникальные имена (+ включать в них имя пользователя)


Zacho   (2003-10-30 18:26:00) [4]


> Val © (30.10.03 17:50) [5]

А попробуй привести пример ХП, возвращающей набор данных с переменным кол-вом полей :-)


Val   (2003-10-30 17:50:00) [5]

>MsGuns © (30.10.03 15:41) [4]
а нельзя набор данных возвращать, а не параметры? - тогда проблемы переменного количества быть не должно.


MsGuns   (2003-10-30 15:41:00) [6]

>sashag © (30.10.03 14:29) [2]
>Я могу делать это вручную (в смысле на клиенте), но я хочу, чтобы это делал сам сервер

Т.к. колонок в кроссе переменное кол-во, то выходит, что ХП должна возвращать переменное кол-во параметров. Хотя, конечно, можно забить достаточно большой их список и незадействованные параметры-колонки шуровать в null. Тогда, пожалуй, можно все это хозяйство взвалить на мощные плечи сервера ;))


Zacho   (2003-10-30 14:33:00) [7]


> sashag © (30.10.03 14:29) [2]

Не может это делать сам сервер, нет у него такой фичи. Конечно, можно сделать в FB 1.5 ХП c EXECUTE STATEMENT, но представляю, какие тормоза будут...


sashag   (2003-10-30 14:29:00) [8]

Я могу делать это вручную (в смысле на клиенте), но я хочу, чтобы это делал сам сервер


MsGuns   (2003-10-30 13:52:00) [9]

Возможно в два этапа.
На первом определяется список кросс-колонок запросом по уник.значениям соотв.полей записей осн. датасета
На втором динамически создается запрос с вложенными запросами на каждую кросс-колонку.
НастоящиеМастера все это умудряются запихать в одну процедуру ;))


Наверх

Титульная страница Поиск, карта сайта Написать письмо