Перенос из массива в массив
На страницу Пред. 1, 2
|
Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Эмиралька Эксперт
Вступление в Клуб: 09.11.2015
|
Пн Июл 22, 2024 06:21   |
|
Полезность: Нет оценки
|
Volod пишет: | В цикле по массиву, если реквизит не индексный.
Т.е. если массив создавался так - p_data(номер счета).какой-то реквизит = ..., тогда можно проверить exists(p_data(номер счета)), а если так p_data(1).Номер_счета = ..., тогда нет |
поправлю?
Volod пишет: | ...тогда можно проверить exists(p_data(номер счета)) | вообще=то p_data.exists(номер счета) |
|
 |
Volod Эксперт
Вступление в Клуб: 19.09.2007
|
Пн Июл 22, 2024 09:09   |
|
Полезность: Нет оценки
|
Если строго подходить к синтаксису в переписке  |
|
 |
pabrz Участник со стажем
Вступление в Клуб: 27.09.2022
|
Вт Июл 23, 2024 01:40   |
|
Полезность: Нет оценки
|
Если вам прямо очень-очень хочется на exist проверять, то чего не сделать varray и пробивать обычным sql запросом содержимое? |
|
 |
Эмиралька Эксперт
Вступление в Клуб: 09.11.2015
|
Ср Июл 24, 2024 13:39   |
|
Полезность: Нет оценки
|
pabrz пишет: | Если вам прямо очень-очень хочется на exist проверять, то чего не сделать varray и пробивать обычным sql запросом содержимое? |
С varray проще использовать member of |
|
 |
-Eugene- Участник
Вступление в Клуб: 21.04.2008
|
Ср Июл 24, 2024 15:19   |
|
Полезность: Нет оценки
|
Код: |
type t_key is [EXECUTORY_PROCES].[FSSP_SUBTYPE].AccountTransactionDatumType.AccountNumber%type;
type t_accs is table of varchar(1) index by varchar2(20); -- index by t_key
accs t_accs; -- массив счетов
acc t_key; -- key
answer ::[EXECUTORY_PROCES].[FSSP_TYPE].AccountAnswer; -- обрабатываемый ответ. в реале должен быть заполнен
begin
if answer.A_Data.count > 0 then
for i in answer.A_Data.first..answer.A_Data.last loop
acc := answer.A_Data(i).AccountTransactionDatum.AccountNumber;
if acc is not null then
accs(acc) := true;
end if;
end loop;
end if;
-- вывод найденных счетов
acc := accs.first;
while acc is not null loop
debug_pipe('acc = '||acc, 0);
acc := accs.next(acc);
end loop;
end;
|
|
|
 |
|
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
|
|