|
|
|
Массивы + хранимая процедура
|
|||
|---|---|---|---|
|
#18+
Может кто подскажет. Нужно: В хранимой процедуре сделать выборку данных загнать все ID в массив .... FOREACH cursor1 FOR SELECT id,p1, title FROM table; LET arr[]=p1; IF (id нет в arr[]) RETURN title WITH RESUME; END FOREACH; как это можно сделать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2005, 17:57 |
|
||
|
Массивы + хранимая процедура
|
|||
|---|---|---|---|
|
#18+
SNK2004Может кто подскажет. Нужно: В хранимой процедуре сделать выборку данных загнать все ID в массив .... FOREACH cursor1 FOR SELECT id,p1, title FROM table; LET arr[]=p1; IF (id нет в arr[]) RETURN title WITH RESUME; END FOREACH; как это можно сделать? Понятия массив в информиксе нету. Как "массив" потом будет использоваться? Зачем оно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2005, 18:59 |
|
||
|
Массивы + хранимая процедура
|
|||
|---|---|---|---|
|
#18+
Сделай временную таблицу - и работай с ней. Таблица - сплошной одномерный динамические массив записей :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2005, 21:21 |
|
||
|
Массивы + хранимая процедура
|
|||
|---|---|---|---|
|
#18+
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 понятно :-) в качестве контейнера не предлагают? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2005, 11:04 |
|
||
|
Массивы + хранимая процедура
|
|||
|---|---|---|---|
|
#18+
Enlighten meЕсли использование в таком контексте необходимо позарез (крайне редкий случай, ИМХО) то можно запаковать массив в строку известной структуры (CSV,XML) и распарсивать в вызываемой процедуре. Если порядок элементов в "массиве" не имеет значения, то проще использовать множества. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2005, 12:17 |
|
||
|
|

start [/forum/topic.php?fid=44&msg=33315910&tid=1608873]: |
0ms |
get settings: |
9ms |
get forum list: |
10ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
55ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
29ms |
get tp. blocked users: |
1ms |
| others: | 234ms |
| total: | 353ms |

| 0 / 0 |
