|
|
|
Процедура + массив (ASE 12.5)
|
|||
|---|---|---|---|
|
#18+
Всем привет! Подскажите как можно передать массив, например ar1[x] ar1[1] = 5 ar1[2] = 10 ar1[3] = 15 ar1[4] = 20 в процедуру? и как его принять в процедуре? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2010, 15:49 |
|
||
|
Процедура + массив (ASE 12.5)
|
|||
|---|---|---|---|
|
#18+
1) формируете строку, где значения разделены запятыми. "1,2,3,4" и передаете ее как varchar в процедуре распарсываете и загоняете во временную таблицу. 2) динамическим скриптом с клиента создается времянка, которая тут-же и заполняется. Потом вызывается нужный скрипт/хп, который уже использует эту времянку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2010, 16:37 |
|
||
|
Процедура + массив (ASE 12.5)
|
|||
|---|---|---|---|
|
#18+
Использование переменной имеет ограничения. Большой массив так не передать. Распарсивание тоже может оказаться сложным. Мы практикуем передачу временных таблиц. Как сделать: Создаёте процедуру которая читает из временной таблицы (в сессии создания процедуры таблицу необходимо создать, иначе процедура не скомпиллируется) На клиенте генерите комманду: создать таблицу заполнить данными из массива вызвать процедуру Полезно будет Ваш вызов в логе прописать, чтобы если что проверить потом процедуру независимо от клиента. Удачи ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2010, 16:47 |
|
||
|
Процедура + массив (ASE 12.5)
|
|||
|---|---|---|---|
|
#18+
пасиб, понятно жаль конечно что человеческим способ это не решается... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2010, 17:18 |
|
||
|
Процедура + массив (ASE 12.5)
|
|||
|---|---|---|---|
|
#18+
Imperous wrote: > Подскажите как можно передать массив, например > в процедуру? и как его принять в процедуре? Никак, параметры процедур и вообще переменные не могут быть массивами (массивов вообще в TSQL нет). Так что ищите обходные пути. Самый лучший -- сделать временную таблицу и процедуру к ней для заполния (добавление одной строки) и удаления. Потом N раз вызывать эту процедуру, затем -- основную процедуру. Она уже возмёт данные из этой временной таблицы. Вместо временной таблицы можно использовать псевдовременную. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2010, 10:39 |
|
||
|
|

start [/forum/topic.php?fid=55&msg=36529025&tid=2010702]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
176ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
2ms |
| others: | 243ms |
| total: | 515ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...