Гость
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / select * from (execute block...) / 8 сообщений из 8, страница 1 из 1
24.03.2017, 17:29
    #39426693
Anton_bg
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
select * from (execute block...)
Я исползую Firebird 2.5

Прошу обяснить возможно ли сделат такой конструкции:

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
select "Period", Sum("Incom"), Sum("TaxDuty")
from
  (execute block((aPersonID bigint = :vPersonID, aYear integer = :vYear)
   returns (
      "Period" type of "T_BeginOfMonth",
      "Incom" type of "T_MoneyPositive",
      "TaxDuty" type of "T_MoneyPositive")
   as
   begin
      ...
      ...
   end
  )
group by "Period"
   



Извините за плохой руский
Антон
...
Рейтинг: 0 / 0
24.03.2017, 17:32
    #39426699
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
select * from (execute block...)
Anton_bg,

нет
...
Рейтинг: 0 / 0
24.03.2017, 17:36
    #39426702
DarkMaster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
select * from (execute block...)
Anton_bg,

Хранимую процедуру сделай.
...
Рейтинг: 0 / 0
24.03.2017, 17:38
    #39426707
Anton_bg
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
select * from (execute block...)
Симонов Денис,

Спасибо, а я так надеялся что ето както возможно сделать

Единственный выход, который я придумал состоит в том что надо сделать selectable procedure, которая содержит логику execute block
и потом уже select с этой procedure.
Но это означает что я должен изменить структуру баз данных (около 150 баз при клиентов) что бы добавить эту процедуру.

Антон
...
Рейтинг: 0 / 0
24.03.2017, 17:40
    #39426711
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
select * from (execute block...)
Anton_bg,

ну может ещё не всё потеряно, возможно есть способ переписать сам execute block так чтобы он производил все вычисления внутри без внешнего запроса
...
Рейтинг: 0 / 0
24.03.2017, 17:45
    #39426716
Anton_bg
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
select * from (execute block...)
Симонов Денис,

Да, я сегодня с утра питаюс переписать execute block, что бы не было нужды во внешнего селект, но не успел найти вариант.

Спасибо за быстрий ответ. Все таки это помогло мне не терят времени на невозможные конструкции. Надо делать хранимую процедуру и обновлять всех баз
...
Рейтинг: 0 / 0
27.03.2017, 09:32
    #39427548
rdb_dev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
select * from (execute block...)
Anton_bg, и в чем проблема? Тебе нужен execute block без обёртки select и парочка переменных внутри execute block для суммирования.
...
Рейтинг: 0 / 0
27.03.2017, 09:37
    #39427550
o_v_a
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
select * from (execute block...)
Тоже не вижу проблем. Внутри execute block логику поменять.
Наверняка, Антон уже и сам нашел решение.
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / select * from (execute block...) / 8 сообщений из 8, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]