Можно ли асинхронно вызывать хранимую процедуру из другой хранимой процедуры?Асинхронные вызовы хранимой процедуры
Редактировать: В частности, я работаю с базой данных DB2.
Можно ли асинхронно вызывать хранимую процедуру из другой хранимой процедуры?Асинхронные вызовы хранимой процедуры
Редактировать: В частности, я работаю с базой данных DB2.
Резюме: Да, если ваша база данных имеет службу очереди сообщений.
Вы можете отправить сообщение в очередь, и процессор очереди будет потреблять его асинхронно.
Для "чистых" хранимых языков процедур (PL/SQL или T-Sql) ответа нет , поскольку он работает против основной модели транзакций, имеющейся у большинства баз данных.
Однако, если ваша база данных имеет механизм очередей, вы можете использовать ее для получения того же результата.
С MS Sql Server 2005 попробуйте выполнить хранимые процедуры Service Broker и/или CLR. Я не думаю, что в TSQL есть что-то встроенное.
Похоже, вам нужно поставить некоторые запланированные задания на место с помощью Cron (или windows equiv). Вы можете использовать начальный хранимый вызов proc, чтобы установить какой-то флаг в БД, который затем периодически проверяется заданием cron. Если вам нужно выполнить определенную задержку до выполнения второго задания, вы должны быть в состоянии сделать это, выполнив задание, запланированное заданием cron.