Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Потоки в T-SQL / 5 сообщений из 5, страница 1 из 1
15.10.2001, 16:43
    #32015365
Hermitus
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Потоки в T-SQL
Вопрос в следующем:
Нужон триггер в базе данных. Но в некоторых случаях (предположительно маловероятных) его работа может занять довольно долгое время.
Можно ли организовать работу с потоками через T-SQL так, чтобы client'у не приходилось ждать пока trigger закончит работу?
Короче, вопрос - есть ли потоки в T-SQL и куда рыть в этом направлении.
...
Рейтинг: 0 / 0
16.10.2001, 05:40
    #32015380
SergSuper
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Потоки в T-SQL
можно что-бы триггер ставил какой-нибудь флаг(что-нибудь записывал во вспомогательную таблицу), а какой-нибудь джоб запускал бы процедуру, которая проверяла этот флаг и делала бы что нужно долгое время

вообщем я бы рыл в этом направлении
...
Рейтинг: 0 / 0
16.10.2001, 10:12
    #32015396
Павел
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Потоки в T-SQL
А можно запускать процедуру асинхронно, а процедура уже внесет изменения в таблицу, вызвав срабатывание триггера. По завершении работы процедцры на клиенте (имеется ввиду работа через ADO) произойдет событие ExecutionComplete. Вобщем никто никого ждать не будет.
...
Рейтинг: 0 / 0
16.10.2001, 17:01
    #32015442
Fompro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Потоки в T-SQL
http://www.gvu.newmail.ru/index.htm - Разработчикам на Delphi и MSSQL посвящается (страничка Уфимцева Глеба)

T-SQL хранимая процедура spAsyncSQL асинхронного выполнения произвольного T-SQL выражения, заданного строкой (Только для MSSQL7.0. Для MSSQL2000 не проверялось) Крайне полезная вещь для целей журнализации или запуска внешних скритов, когда быстрый возврат из процедуры гораздо важнее ожидания результатов выполнения. Как вам нравиться перспектива выполнить за 0.01-0.1 сек процедуру, которая запустит на исполнение другую процедуру длительностью исполнения 1 час? И все это из триггера по событию изменения значения поля? Не всегда удобно использовать для этого шедулер. Я, например, с помощью этой процедуры и следующей запускаю из триггера скрипты VBScript. Для реализации в MSSQL2000, вероятно, требуется адаптация (займусь позже).

http://www.gvu.newmail.ru/sp_async_sql.zip
...
Рейтинг: 0 / 0
18.10.2001, 09:22
    #32015546
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Потоки в T-SQL
Вариант, предложенный Fompro, очень хорош. Но если говорить о управлении потоками БД именно из клиента, то такая технология есть! Называется "коннекты"

Если Вам необходимо запустить долгий репорт, открываете для него новый коннект, запускаете, и работаете себе дальше. Сделать это можно из отдельной формы, используя Вин-многозадачность, или использовать асинхронный вызов АДО (в версии 2.0).
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Потоки в T-SQL / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]