Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
CSmaster Участник со стажем
Вступление в Клуб: 24.09.2021
|
Чт Июн 23, 2022 16:17  Работа с массивом, принадлежащим ТБП |
|
Полезность: Нет оценки
|
Добрый день. Дайте пожалуйста примеры, как лучше и эффективней работать с массивами ТБП. На примере ТБП ::[GUARANTIES]
массив [GR_HIST_RISK].
Какими приемами plplus можно эффективно посмотреть, есть ли в этом массиве записи, где категории качества != 1 ? Чем больше вариантов - тем лучше
Заранее спасибо. |
|
 |
Volod Эксперт
Вступление в Клуб: 19.09.2007
|
Пт Июн 24, 2022 10:05   |
|
Полезность: Нет оценки
|
Это конкурс? Призы будут? |
|
 |
CSmaster Участник со стажем
Вступление в Клуб: 24.09.2021
|
Пт Июн 24, 2022 10:48   |
|
Полезность: Нет оценки
|
Volod пишет: | Это конкурс? Призы будут? |
Ну вот, я за идею, а тут призы подавай..  |
|
 |
Volod Эксперт
Вступление в Клуб: 19.09.2007
|
Пт Июн 24, 2022 11:15   |
|
Полезность: 1
|
select x(count(*)) into v_nnn
in GUARANTIES_REF.[GR_RISK_HIST]
where x.[SERVICE_QUAL].[SIGN] <> 1 |
|
 |
CSmaster Участник со стажем
Вступление в Клуб: 24.09.2021
|
Пт Июн 24, 2022 12:16   |
|
Полезность: Нет оценки
|
Volod пишет: | select x(count(*)) into v_nnn
in GUARANTIES_REF.[GR_RISK_HIST]
where x.[SERVICE_QUAL].[SIGN] <> 1 |
Тоже сделал выборкой в модуле:
Код: |
select rgr(rgr%id) in ::[CR_RISK_GR] all
where rgr%collection = r_guar.[GR_RISK_HIST] and rgr.[SERVICE_QUAL].[SIGN] != 1
and rgr.[DATE_END] > p_on_date
into v_risk_gr;
|
Интересно, может в plplus есть какие нибудь встроенные специфичные функции для работы с массивами. |
|
 |
Volod Эксперт
Вступление в Клуб: 19.09.2007
|
Пт Июн 24, 2022 12:18   |
|
Полезность: Нет оценки
|
ваш селект даст ошибку, если записей вернет больше 1 |
|
 |
CSmaster Участник со стажем
Вступление в Клуб: 24.09.2021
|
Пт Июн 24, 2022 14:05   |
|
Полезность: Нет оценки
|
Volod пишет: | ваш селект даст ошибку, если записей вернет больше 1 |
v_risk_gr - это ассоциативный массив. Транслируется в bulk collect, too_many_rows не выбивает
Код: |
select a1.ID
bulk collect into V_RISK_GR
from Z#SERVICE_QUAL a2, Z#CR_RISK_GR a1
where a1.C_SERVICE_QUAL=a2.id
and (a1.COLLECTION_ID = plp$5$1......
|
|
|
 |
|