是否可以从另一个存储过程异步调用存储过程?
编辑:具体来说,我正在使用 DB2 数据库。
执行摘要:是的,如果您的数据库有消息队列服务。
您可以将消息推送到队列中,队列处理器将异步使用它。
对于“纯”存储过程语言(PL/Sql 或 T-Sql),答案是否定的,因为它与大多数数据库具有的基本事务模型相违背。
但是,如果您的数据库具有排队机制,您可以使用它来获得相同的结果。
使用 MS Sql Server 2005,尝试使用 Service Broker 和/或 CLR 存储过程。我不认为有任何东西直接内置到 TSQL 中。
听起来您需要使用 Cron(或 windows equiv)安排一些预定的作业。您可以使用初始存储过程调用在数据库中设置某种标志,然后由 cron 作业定期检查。如果您需要在第二个作业执行之前有一个特定的延迟,您应该能够通过 cron 作业安排任务来做到这一点。