![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Массив в параметре хранимой процедуры [D3, IB6.x]
BlackKing © (2003-12-04 13:26:00)
Подскажите пожалуйста, что то я не нашёл, как в параметре ХП указать тип МАССИВ.
Create Procedure MyProc(MyArr .....)
что вместо точек, если мне недо Array of Integer.
Спасибо.
Sandman25 (2003-12-04 17:34:00) [1]
Что будет быстрее, зависит от работы хранимой. В моем случае было много операций вида insert into table select from временная_таблица, которые выполнялись гораздо быстрее, чем если бы я записывал данные по одной записи. А если у Вас там только сложные расчеты на основе каждой строки, то быстрее будет вызывать хранимую много раз ИМХО.
BlackKing (2003-12-04 17:23:00) [2]
Sorry... немного сложновато rbhbkbwtq, т.к редко приходится их использовать. Привычка использовать транслит, т.к. в етой Латвии не все компы видят кирилицу :o)
Буду стараться, но вы ж не бейте меня больно если что :o)
Johnmen (2003-12-04 17:16:00) [3]
Я имел в виду русские буковки...
Поэкспериментируй. Однозначного ответа нет...
BlackKing (2003-12-04 17:14:00) [4]
:o)
togda budet koroche :
chto bistreje, opredelit" v programme spisok(massiv) ID i vizvat" stol"ko raz proceduru, ili povesit" eto delo na trigger, chto-bi on zanosil eti ID v kakuju-to tablicu, a potom procedura sama ih schitala?
Johnmen (2003-12-04 17:06:00) [5]
Если не сложно, по-русски, пожалуйста...
:)
BlackKing (2003-12-04 17:03:00) [6]
Pravil"no li ja ponjal ideju ?
jest" trigger, kotorij pri ljubom izmenenii v tablice dobavljajet v vremennuju tablicu zapis" s nomerom ID dlja kotorogo potom neobhodimo budet vipolnit" HP (pri etom proverjaja net li tam uzhe takogo ID). V kakoj-to prekrastnij moment ja vizivaju proceduru i ona schitajet dannije iz vrem. tablici, a po zavershenii opustoshajet jejo.
Tak?
ne vizovet li zapolnenije vrem.tablici lishnih tormozov?
Sandman25 (2003-12-04 16:38:00) [7]
[9] BlackKing (04.12.03 16:31)
У меня есть подобный режим - пользователь отбирает данные (до нескольких тысяч) и затем вызывается хранимая, которая считывает эти данные из временной таблицы. Преимущество временных таблиц еще и в том, что они могут хранить несколько данных для каждой строки. Не передавать же двумерный массив...
BlackKing (2003-12-04 16:31:00) [8]
Mozhet i ne stoit, no ja dumal peredat" vsjo za odin raz i puskaj bi server obrabatival :o)
Sandman25 (2003-12-04 16:17:00) [9]
BlackKing
А все-таки в чем будет состоять выигрыш от вызова хранимой 1 раз, а не 29? Особенно ежели она препарирована перед циклом вызова. Может, овчинка выделки не стоит?
BlackKing (2003-12-04 16:14:00) [10]
V samoj procedure ih poluchit" nikak ne poluchica, a vot naschot razlozhenija stroki ja podumaju
BlackKing (2003-12-04 16:05:00) [11]
Bistreje navernoe budet vsjo taki neskol"ko raz SQL poslat" dlaj vizova etoj proceduri.
Johnmen (2003-12-04 16:04:00) [12]
Получай список необходимых ID в самой процедуре.
Или напр. передай их в строке, а в процедуре сделай разбор.
Sandman25 (2003-12-04 16:01:00) [13]
Использование временных таблиц?
BlackKing (2003-12-04 15:19:00) [14]
Есть процедура, в которую передаётся ID записи для которой выполнятся определённые действия. получается, что если мне нужно проделать ети действия для нескольких записей, мне придётся несколько раз вызывать ету процедуру, а так бы за один раз задал список и пускай бы выполнялось.
набор записей определяется в программе.
использование триггера не подходит.
Digitman (2003-12-04 13:44:00) [15]
нет такого типа
но задача решаема иными средствами, с использованием UDF
смотря что дальше ты собрался делать с этим "массивом"
Romkin (2003-12-04 13:36:00) [16]
Это невозможно