Сведения о вопросе

Ayrat

08:13, 27th August, 2020

Теги

sql   stored-procedures   db2    

Асинхронные Вызовы Хранимых Процедур

Просмотров: 507   Ответов: 3

Можно ли вызвать хранимую процедуру из другой хранимой процедуры асинхронно?

Edit: в частности, я работаю с базой данных DB2.



  Сведения об ответе

lool

23:39, 20th August, 2020

Резюме: Да, если в вашей базе данных есть служба очереди сообщений.

Вы можете поместить сообщение в очередь, и обработчик очереди будет использовать его асинхронно.

  • Oracle: очереди
  • Sql сервер: Service broker
  • DB2: брокерские мероприятия

Для "pure" языков хранимых процедур (PL/Sql или T-Sql) ответ отрицательный, так как он работает против фундаментальной модели транзакций, которую имеет большинство баз данных.

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


  Сведения об ответе

pumpa

04:54, 17th August, 2020

С MS Sql Server 2005 попробуйте использовать компонент Service Broker и / или хранимые процедуры CLR. Я не думаю, что есть что-то встроенное непосредственно в TSQL.


  Сведения об ответе

P_S_S

19:56, 15th August, 2020

Похоже,что вам нужно поставить некоторые запланированные задания на место с Cron (или windows equiv). Вы можете использовать начальный сохраненный вызов proc, чтобы установить какой-то флаг в DB, который затем периодически проверяется заданием cron. Если вам нужно иметь определенную задержку перед выполнением 2-го задания, вы должны быть в состоянии сделать это, имея задачу, запланированную заданием cron.


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться