Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > Чтоб один запрос не начал выполнятся


Автор: malor 3.10.2012, 23:03
Делаю SELECT-ом выборку из таблицы размером более 100 000 строк, 
вставляя результат в TEMPORARY-таблицу.  Это первая команда отправленная из Delphi к MySQL.
Следующей строкой будет идти команда, которая из той самой TEMPORARY-таблицы уже 
отберет какие-то данные и закинет в другую TEMPORARY-таблицу.
Как обеспечить, чтобы СУБД не начала выполнять второй запрос в то время, 
как первый еще не закончил свои действия?

Транзакцию оформить ?..

mysql-5.5.27-win32.msi

Автор: lomaster 3.10.2012, 23:25
Вам для чего все это надо?

Автор: Данкинг 3.10.2012, 23:32
Цитата(malor @  4.10.2012,  00:03 Найти цитируемый пост)
Делаю SELECT-ом выборку из таблицы 

Каким образом?

Автор: malor 4.10.2012, 02:37
Данкинг, там все по-обычному:  smile 
Цитата
SELECT  пара столбцов
FROM пара таблиц
WHERE условие на поле даты и т.д. 

Ну а далее, lomaster, на основе подготовленных 
TEMPORARY-таблиц будет формироваться отчет.

Автор: DYUMON 4.10.2012, 06:39
а если просто весь код написать в один запрос? что мешает? и будет он выполнятся по порядку.

Автор: malor 5.10.2012, 09:34
А вообще, то, что я описал в первом посте (2-й запрос начинает выполняться когда 1-й еще работает) - возможно?  smile 

Автор: Данкинг 5.10.2012, 10:11
malor, подключение к БД какими компонентами?

Автор: malor 5.10.2012, 10:34
Стандартными дельфийскими TADOConnection.

Delphi XE

Автор: Данкинг 5.10.2012, 10:57
Ну так пока один запрос в AdoQuery не выполнится, следующий оператор программы выполняться не будет же.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)