powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Informix [игнор отключен] [закрыт для гостей] / Массивы + хранимая процедура
6 сообщений из 6, страница 1 из 1
Массивы + хранимая процедура
    #33315784
SNK2004
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Может кто подскажет.
Нужно:

В хранимой процедуре сделать выборку данных загнать все ID в массив

....
FOREACH cursor1 FOR

SELECT id,p1, title FROM table;
LET arr[]=p1;
IF (id нет в arr[]) RETURN title WITH RESUME;
END FOREACH;

как это можно сделать?
...
Рейтинг: 0 / 0
Массивы + хранимая процедура
    #33315910
Valentyn Pidburtnyi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SNK2004Может кто подскажет.
Нужно:

В хранимой процедуре сделать выборку данных загнать все ID в массив

....
FOREACH cursor1 FOR

SELECT id,p1, title FROM table;
LET arr[]=p1;
IF (id нет в arr[]) RETURN title WITH RESUME;
END FOREACH;

как это можно сделать?
Понятия массив в информиксе нету. Как "массив" потом будет использоваться? Зачем оно?
...
Рейтинг: 0 / 0
Массивы + хранимая процедура
    #33316052
Bill'и
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сделай временную таблицу - и работай с ней.
Таблица - сплошной одномерный динамические массив записей :)
...
Рейтинг: 0 / 0
Массивы + хранимая процедура
    #33316667
Enlighten me
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SNK2004Может кто подскажет.
Нужно:

В хранимой процедуре сделать выборку данных загнать все ID в массив

....
FOREACH cursor1 FOR

SELECT id,p1, title FROM table;
LET arr[]=p1;
IF (id нет в arr[]) RETURN title WITH RESUME;
END FOREACH;

как это можно сделать?Единственный минус использования временных таблиц - процедура станет неприменимой в качестве "хранимой функции" - её нельзя будет использовать в select'ах типа select foo(field1) from table1 where foo(field2) = 0 . Если использование в таком контексте необходимо позарез (крайне редкий случай, ИМХО) то можно запаковать массив в строку известной структуры (CSV,XML) и распарсивать в вызываемой процедуре. Накладные расходы и оганичения - сами понимаете, не мелкие. Поэтому этот вариант применим только в редких, экзотических случаях.

Я говорю о седьмом информиксе.
BTW, вопрос: а более свежие версии эхотага ничего нового в рамках SPL (про Java и C понятно :-) в качестве контейнера не предлагают?
...
Рейтинг: 0 / 0
Массивы + хранимая процедура
    #33316962
Valentyn Pidburtnyi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Enlighten meЕсли использование в таком контексте необходимо позарез (крайне редкий случай, ИМХО) то можно запаковать массив в строку известной структуры (CSV,XML) и распарсивать в вызываемой процедуре.
Если порядок элементов в "массиве" не имеет значения, то проще использовать множества.
...
Рейтинг: 0 / 0
Массивы + хранимая процедура
    #33316977
SNK2004
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
спасибо, проблемма вроде решена.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Informix [игнор отключен] [закрыт для гостей] / Массивы + хранимая процедура
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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