Форум: "Базы";
Текущий архив: 2003.12.30;
Скачать: [xml.tar.bz2];
ВнизМассив в параметре хранимой процедуры Найти похожие ветки
← →
BlackKing (2003-12-04 13:26) [0]Подскажите пожалуйста, что то я не нашёл, как в параметре ХП указать тип МАССИВ.
Create Procedure MyProc(MyArr .....)
что вместо точек, если мне недо Array of Integer.
Спасибо.
← →
Romkin (2003-12-04 13:36) [1]Это невозможно
← →
Digitman (2003-12-04 13:44) [2]нет такого типа
но задача решаема иными средствами, с использованием UDF
смотря что дальше ты собрался делать с этим "массивом"
← →
BlackKing (2003-12-04 15:19) [3]Есть процедура, в которую передаётся ID записи для которой выполнятся определённые действия. получается, что если мне нужно проделать ети действия для нескольких записей, мне придётся несколько раз вызывать ету процедуру, а так бы за один раз задал список и пускай бы выполнялось.
набор записей определяется в программе.
использование триггера не подходит.
← →
Sandman25 (2003-12-04 16:01) [4]Использование временных таблиц?
← →
Johnmen (2003-12-04 16:04) [5]Получай список необходимых ID в самой процедуре.
Или напр. передай их в строке, а в процедуре сделай разбор.
← →
BlackKing (2003-12-04 16:05) [6]Bistreje navernoe budet vsjo taki neskol"ko raz SQL poslat" dlaj vizova etoj proceduri.
← →
BlackKing (2003-12-04 16:14) [7]V samoj procedure ih poluchit" nikak ne poluchica, a vot naschot razlozhenija stroki ja podumaju
← →
Sandman25 (2003-12-04 16:17) [8]BlackKing
А все-таки в чем будет состоять выигрыш от вызова хранимой 1 раз, а не 29? Особенно ежели она препарирована перед циклом вызова. Может, овчинка выделки не стоит?
← →
BlackKing (2003-12-04 16:31) [9]Mozhet i ne stoit, no ja dumal peredat" vsjo za odin raz i puskaj bi server obrabatival :o)
← →
Sandman25 (2003-12-04 16:38) [10][9] BlackKing (04.12.03 16:31)
У меня есть подобный режим - пользователь отбирает данные (до нескольких тысяч) и затем вызывается хранимая, которая считывает эти данные из временной таблицы. Преимущество временных таблиц еще и в том, что они могут хранить несколько данных для каждой строки. Не передавать же двумерный массив...
← →
BlackKing (2003-12-04 17:03) [11]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?
← →
Johnmen (2003-12-04 17:06) [12]Если не сложно, по-русски, пожалуйста...
:)
← →
BlackKing (2003-12-04 17:14) [13]: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:16) [14]Я имел в виду русские буковки...
Поэкспериментируй. Однозначного ответа нет...
← →
BlackKing (2003-12-04 17:23) [15]Sorry... немного сложновато rbhbkbwtq, т.к редко приходится их использовать. Привычка использовать транслит, т.к. в етой Латвии не все компы видят кирилицу :o)
Буду стараться, но вы ж не бейте меня больно если что :o)
← →
Sandman25 (2003-12-04 17:34) [16]Что будет быстрее, зависит от работы хранимой. В моем случае было много операций вида insert into table select from временная_таблица, которые выполнялись гораздо быстрее, чем если бы я записывал данные по одной записи. А если у Вас там только сложные расчеты на основе каждой строки, то быстрее будет вызывать хранимую много раз ИМХО.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.12.30;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.008 c