![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Инсерт [D5, IB5.x]
Alek © (2004-08-21 14:21:00)У меня в бд нужно вставить кучу новых записей в одной процедуре.
Сейчас я вставляю их так:
Dm1.IBDataSet1.Close;
DM1.IBDataSet1.SQL.Clear;
DM1.IBDataSet1.SQL.Add('insert into SOOTV_ZAPCHAST Values ('''+IntToStr(id2)+''','''+IntToStr(ids[i])+''') ');
DM1.IBDataSet1.Open;
Dm1.IBDataSet1.Close;
DM1.IBDataSet1.SQL.Clear;
DM1.IBDataSet1.SQL.Add('insert into SOOTV_ZAPCHAST Values ('''+IntToStr(ids[i])+''','''+IntToStr(id2)+''') ');
DM1.IBDataSet1.Open;
и т.д.
Можно ли както сделать один запрос который вставит нужные мне записи?? а то так слишком много времени уходит
Desdechado (2004-08-21 15:25:00) [1]1. все в одной транзакции
2. не Open, а ExecSQL
3. использовать параметры
4. сделать Prepare перед первым выполнением, но после присваивания SQL.Text
5. можно на время добавления отключить индексы