![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Запрос в два потока [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-запрос одновременнос выполнением модифицирующей процедуры ?