Question

Is it possible to call a stored procedure from another stored procedure asynchronously?

Edit: Specifically I'm working with a DB2 database. ­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­

Was it helpful?

Solution

Executive summary: Yes, if your database has a message queue service.

You can push a message onto a queue and the queue processor will consume it asynchronously.

  • Oracle: queues
  • Sql Server: service broker
  • DB2: event broker

For "pure" stored procedure languages (PL/Sql or T-Sql) the answer is no, since it works against the fundamental transaction model most databases have.

However, if your database has a queuing mechanism, you can use that to get the same result.

OTHER TIPS

With MS Sql Server 2005, try the Service Broker and/or CLR stored procedures. I don't think there's anything built directly into TSQL.

It sounds like you need to put some scheduled jobs in place with Cron (or windows equiv). You could use the initial stored proc call to set some kind of flag in the DB, which is then checked periodically by a cron job. If you need to have a specific delay before the 2nd job executes, you should be able to do that by having the task scheduled by the cron job.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top