CftClub.ru
Клуб специалистов ЦФТ-Банк

не понятен select

 
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Уроки ЦФТ-Банк для начинающих
Предыдущая тема :: Следующая тема  
Автор Сообщение
Perseus
Участник


Вступление в Клуб: 25.02.2014
СообщениеПн Май 05, 2014 08:40   не понятен select Ответить с цитатой
Полезность: Нет оценки
Добрый день!
Не могу понять что значит след. код
Код:
Arr                       [CP_PAYSRC_ARR];
.....
 for r in Arr
      where (r.Period.Date_Start        >= Period.Date_Start) and
            (r.Period.Date_Final        <= Period.Date_Final) and
            (r.States.rec.Cls_States_ref = SYSTEM::CONSTS.WORK_States_ref)
Я так понимаю переменная arr объявлена как типа "запись" а потом объявляется курсор. но как??? извиняюсь если задаю глупый вопрос, я так понимаю что это выборка из таблицы CP_PAYSRC и на транслируясь на Pl/sql получается следующее
Код:
select  a1.id
            from Z#CP_PAYSRC a1
            where a1.COLLECTION_ID=plp$1$1
              and ((a1.C_PERIOD#DATE_START >= PERIOD.A#DATE_START) and (a1.C_PERIOD#DATE_FINAL <= PERIOD.A#DATE_FINAL) and (a1.C_STATES#REC#CLS_STATES_REF = Z$SYSTEM_CONSTS.WORK_STATES_REF));
так вот суть вопроса - откуда берется условие where a1.COLLECTION_ID=plp$1$1 ???
vtar
Эксперт


Вступление в Клуб: 20.03.2009
СообщениеПн Май 05, 2014 09:36    Ответить с цитатой
Полезность: Нет оценки
Вот отсюда
Arr [CP_PAYSRC_ARR];

По полю collection_id записи в табличке = массив Arr
определяем, какие именно записи таблички Z#CP_PAYSRC относятся "именно к этому" массиву Arr
Perseus
Участник


Вступление в Клуб: 25.02.2014
СообщениеВт Май 06, 2014 07:48    Ответить с цитатой
Полезность: Нет оценки
vtar пишет:
Вот отсюда
Arr [CP_PAYSRC_ARR];

По полю collection_id записи в табличке = массив Arr
определяем, какие именно записи таблички Z#CP_PAYSRC относятся "именно к этому" массиву Arr
спасибо за ответ!
Random
Эксперт


Вступление в Клуб: 27.06.2011
СообщениеВт Май 06, 2014 08:01   Re: не понятен select Ответить с цитатой
Полезность: Нет оценки
Perseus пишет:
Добрый день!
Не могу понять что значит след. код
.....
Я так понимаю переменная arr объявлена как типа "запись" а потом объявляется курсор. но как???


Написано не очень грамотно, вот и ставит вас в тупик.

Лично я использую конструкцию
Arr ::[CP_PAYSRC]%collection%type;

И всё понятно. Arr - переменная для обращения к элементам одного массива, объединённых общим значением поля collection_id.
Запрос
for a in arr
аналогичен запросу
for a in ::[CP_PAYSRC] all where a%collection = arr
Показать сообщения:   
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Уроки ЦФТ-Банк для начинающих Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Рейтинг@Mail.ru