Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Массив в параметре хранимой процедуры [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]

Это невозможно


Наверх

Титульная страница Поиск, карта сайта Написать письмо