Массовая вставка данных в SQLQuery, получить итоговый запрос

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Re: Массовая вставка данных в SQLQuery, получить итоговый за

Сообщение Padre_Mortius » 01.02.2013 21:39:15

Код: Выделить всё
For i:=1 To Кол-во_запросов Do
zp.Script.Add('INSERT ...')
а потом
zp.Execute;

При таком подходе и должен выполнять по одному. Для массовой вставки нужно все это явно оформить в транзакцию.
Padre_Mortius
энтузиаст
 
Сообщения: 1265
Зарегистрирован: 29.05.2007 17:38:07
Откуда: Спб

Re: Массовая вставка данных в SQLQuery, получить итоговый за

Сообщение Ism » 05.02.2013 19:08:15

Вот проект по массовой вставке записей из одной базы в другую. Скорость ограничена только скоростью чтения из ODBC
Нужны компоненты Zeos
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Ism
энтузиаст
 
Сообщения: 908
Зарегистрирован: 06.04.2007 17:36:08

Re: Массовая вставка данных в SQLQuery, получить итоговый за

Сообщение Padre_Mortius » 05.02.2013 23:06:31

Ism, и что вы этим примером хотели сказать? Особенно если учесть, что метод ExecuteDirect вызывается не у TSqlQuery (или как там у Zeos), а у TZConnection.
Padre_Mortius
энтузиаст
 
Сообщения: 1265
Зарегистрирован: 29.05.2007 17:38:07
Откуда: Спб

Re: Массовая вставка данных в SQLQuery, получить итоговый за

Сообщение Ism » 06.02.2013 00:26:24

Padre_Mortius писал(а):Ism, и что вы этим примером хотели сказать? Особенно если учесть, что метод ExecuteDirect вызывается не у TSqlQuery (или как там у Zeos), а у TZConnection.

Все равно откуда вызывается ExecuteDirect, оно просто кидает запрос на сервер, ради этого держать отдельный компонент не нужно.

Данная программа может пригодиться тем, кто хочет с максимальной скоростью перекачать данные между одинаковыми таблицами в разных базах
Ism
энтузиаст
 
Сообщения: 908
Зарегистрирован: 06.04.2007 17:36:08

Пред.

Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 221

Рейтинг@Mail.ru