powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Помогите новичку.
3 сообщений из 3, страница 1 из 1
Помогите новичку.
    #39317427
Vis1712_kz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я программирую примерно 4 года. Недавно на работе потребовалось выгрузить данные из бд. Бд - FireBird. Язык: SQL. Есть уже похожая процедура в базе, которую писал человек до меня. Мне нужно ее чуть чуть переделать под текущие реалии. Вот она:

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
begin
  if((not ip_year is null) and ip_year < 100) then
    ip_year = ip_year + 2000;
  m_up = ip_year*100 + ip_month;

  for select dj.site_id,
             dj.dj_doc_date,
              case dj.dj_doc_smena_type
                when 1 then 'День'
                when 2 then 'Ночь'
                else 'Ошибка!'
              end,
              dj.dj_doc_smena_num,
              dj.garajnumber,dj.markts_ext,
              dj.transport_type10,
              tt.acc_kod_str,tt.descr,
              tm.note,
              tb.tt_rts_begin,tb.tt_rts_end,
              tb.duration
       from site_dj_transport dj
            inner join site_dj_transport_time_tb tb on (dj.idg = tb.dj_idg)
            inner join ds_time_type tt on (tb.time_type_id = tt.id)
            left join site_dj_transport_time tm on (tm.idg = tb.dj_tt_idg)
       where (dj.dj_doc_up = :m_up) and (dj.is_child != 1) and
             (1 = case
                   when :ip_site__id is null then 1
                   when :ip_site__id = dj.site_id then 1
                   else 0
                 end
             )
       plan join(dj index(site_dj_transport_upsttr),
                 tb index(site_dj_transport_time_tb_djidg),
                 tt index(pk_ds_time_type),
                 tm index(pk_site_dj_transport_time))
       into :site__id,
            :dj__date,:smena_type__descr,
            :dj_smena_num,
            :transport__garajnumber,:markts__descr,
            :transport__type10,
            :dj_tt__acc_kod,:time_type__descr,
            :dj_tt__note,
            :dj_tt__rts_begin,:dj_tt__rts_end,
            :dj_tt__duration
  do suspend;
end



Помогите, пожалуйста, разобраться, что откуда и как берется. И с мелочами: например помимо месяца нужно добавить еще и день выгрузки: как это реализовать?
P.S. Процедура полностью рабочая.
...
Рейтинг: 0 / 0
Помогите новичку.
    #39317457
p2.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vis1712_kzЯ программирую примерно 4 года.Вот так сразу после детского сада, не научившись читать?!... документацию по FB.
Здесь, к слову, форму про postgresql, а твой "sql" вовсе не sql.
...
Рейтинг: 0 / 0
Помогите новичку.
    #39317552
Lonepsycho
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vis1712_kzБд - FireBird.
вы, случаем, ветку форума не перепутали?
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Помогите новичку.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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