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

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

Запрос в два потока [MSSQL]


KOMArKad ©   (2007-09-07 10:58:00) 

Здравствуйте уважаемые мастера.
Подскажите пожалуйста, кто сталкивался с этим попросом, как выполнить одновременно два запроса.
Поясню:
На форме 2 AdoQuery

В первом
DECLARE @nResult INT, @nId INT
EXECUTE @nResult = Up_GenerateWHCell........

Во втором
SELECT COUNT(*) FROM ##tmpWHCell

Первый AdoQuery выполняет процедуру, которая в свою очередь делает ряд операций, в том числе во временной таблице хранит кол-во INSERT'нутых записей

Второй AdoQuery это запрос на кол-во этих записей

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

Если есть возможность подскажите на уровне примеров.


evvcom   (2007-09-12 14:52:00) [1]


> В другую таблицу помещаются ID этих записей, а SELECT подсчитывает
> кол-во уже вставленных записей

Параллельно в разных потоках - это значит в разных сессиях, потому select не будет видеть результатов insert до commit. Оно тебе это надо?


isasa   (2007-09-10 18:03:00) [2]

clickmaker ©   (07.09.07 12:15) [5]

кстати, у ADOQuery есть ExecuteOptions = eoAsyncExecute


Насколько помнится, возврат в событие OnFetching, работает только для "SELECT ...".
Для хранимой процедуры там глухо, тем более, если в ней BEGIN TRAN ...


KOMArKad   (2007-09-07 12:46:00) [3]


> clickmaker ©  


Спасибо Большое!!!


clickmaker   (2007-09-07 12:15:00) [4]

кстати, у ADOQuery есть ExecuteOptions = eoAsyncExecute


KOMArKad   (2007-09-07 12:02:00) [5]

I>
> Почему бы не отображать прогресс параллельно со вставкой?

Подскажите как это сделать?<


clickmaker   (2007-09-07 11:50:00) [6]


> В другую таблицу помещаются ID этих записей, а SELECT подсчитывает
> кол-во уже вставленных записей, этим производиться попытка,
> создать progressbar

это называется чесать левое ухо правой ногой.
Почему бы не отображать прогресс параллельно со вставкой?


KOMArKad   (2007-09-07 11:48:00) [7]


> Какой смысл выполнять SELECT-запрос одновременно с выполнением
> модифицирующей процедуры ?


Потому что, процедура не модифицирует, а создает новые записи. В другую таблицу помещаются ID этих записей, а SELECT подсчитывает кол-во уже вставленных записей, этим производиться попытка, создать progressbar при вставки огромного кол-во записей


Сергей М.   (2007-09-07 11:20:00) [8]


> каким образом можно выполнять эти запросы одновременно


Какой смысл выполнять SELECT-запрос одновременнос выполнением модифицирующей процедуры ?


Наверх

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