![]() |
|
Модераторы: Akella |
![]()
|
|
| tishaishii |
|
|||
![]() Создатель ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1262 Регистрация: 14.2.2006 Где: Москва Репутация: нет Всего: 8 |
Как выполнить запрос:
|
|||
|
||||
| FMA |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 38 Регистрация: 30.4.2008 Репутация: нет Всего: нет |
не подойдет? |
|||
|
||||
| tishaishii |
|
|||
![]() Создатель ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1262 Регистрация: 14.2.2006 Где: Москва Репутация: нет Всего: 8 |
В MSACCESS, по-моему, наряду с возможностью указания абсолютной мощности выборки, есть возможность указать относительную.
"50 percent" - это половина. |
|||
|
||||
| Akella |
|
||||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 20 Всего: 329 |
Подойдёт ли так?
По другому не знаю как :(, попробуй задай вопрос на SQL.RU Добавлено через 1 минуту и 55 секунд С входящим параметром
|
||||
|
|||||
| tishaishii |
|
|||
![]() Создатель ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1262 Регистрация: 14.2.2006 Где: Москва Репутация: нет Всего: 8 |
Есть много запросов, в них много разных связанных отношений и условий. Нет желания описывать каждый запрос в качестве блока или процедуры. Хотелось сократить код и не использовать составление запроса "на лету".
Это сообщение отредактировал(а) tishaishii - 14.7.2011, 22:03 |
|||
|
||||
| password |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 76 Регистрация: 23.9.2008 Где: Украина, Сумы Репутация: нет Всего: 8 |
А нельзя упростить так:
Это сообщение отредактировал(а) password - 14.7.2011, 22:13 |
|||
|
||||
| tishaishii |
|
||||
![]() Создатель ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1262 Регистрация: 14.2.2006 Где: Москва Репутация: нет Всего: 8 |
Не подойдёт.
В задаче есть много (около 1000) разных запросов, которые часто изменяются (выгрузка информации для справочного печатного издания). Хочется как-то упростить их. Сейчас, у меня это делается с помощью парсера. Строка вида
разбивается и выполняются два запроса с ?COUNT=count(*) и ?PERCENT=0.5. Т.е.
Может быть, можно внутри SQL перед работой с курсором узнать сколько строк удастся выбрать? row_count что-то молчит. |
||||
|
|||||
| rodnover |
|
||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 223 Регистрация: 7.4.2009 Репутация: 2 Всего: 10 |
Не знаю, на сколько будет оптимизированно, но возможно, набор данных будет вычислять один раз, если сделать через 2 SP
Завтра на работе попробую потестировать на больших данных. Это сообщение отредактировал(а) rodnover - 14.8.2011, 20:43 |
||||
|
|||||
| tishaishii |
|
|||
![]() Создатель ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1262 Регистрация: 14.2.2006 Где: Москва Репутация: нет Всего: 8 |
Спасибо за желание помочь, rodnover!
Думаю, всё-таки, сохранение каждого (из 1000-2000) отношения в БД - это нормальная практика. Есть небольшой недостаток: при редактировании шаблона выгрузки, придётся дополнительно пересоздавать соответствующее отношение в БД. Возможно, в связи с этим, стоит подумать как описать в БД и сами шаблоны. Для ясности. Для публикации информации из БД используется простой шаблонизатор с множеством блоков (1000-2000, "по погоде") вида:
Моим вариантом решения будет для каждого запроса создавать процедуру (for ЗАПРОС into ... do suspend) с именем вида "PUB_{sha1_hex(ЗАПРОС)}". Вопрос открыт. Это сообщение отредактировал(а) tishaishii - 14.8.2011, 22:07 |
|||
|
||||
![]()
|
| Правила форума "Interbase" | |
|
|
Обязательно указание: 1. Версию InterBase (Firebird, Yaffil) 2. Способа доступа (ADO, BDE, IBX и т.д.)
Если Вам понравилась атмосфера форума, заходите к нам чаще! С Уважением, Akella. |
| 1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Firebird, Interbase | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |