异步存储过程调用

时间:2008-08-24 23:43:00

标签: sql stored-procedures db2

是否可以异步从另一个存储过程调用存储过程?

编辑:具体而言,我正在使用DB2数据库。

3 个答案:

答案 0 :(得分:5)

执行摘要:是的,如果您的数据库有消息队列服务。

您可以将消息推送到队列,队列处理器将异步使用它。

  • Oracle:队列
  • Sql Server:服务代理
  • DB2:事件代理

对于“纯”存储过程语言(PL / Sql或T-Sql),答案是否定的,因为它适用于大多数数据库所具有的基本事务模型。

但是,如果您的数据库具有排队机制,则可以使用它来获得相同的结果。

答案 1 :(得分:1)

使用MS Sql Server 2005,尝试Service Broker和/或CLR存储过程。我认为TSQL没有任何直接构建。

答案 2 :(得分:0)

听起来你需要使用Cron(或windows equiv)来安排一些预定的工作。您可以使用初始存储的proc调用在DB中设置某种标志,然后由cron作业定期检查。如果您需要在第二个作业执行之前有一个特定的延迟,您应该能够通过cron作业安排任务来实现这一点。