PL / SQL中的事件驱动编程

我有两个PL / SQL系统,驻留在两个独立的数据库中。 SystemA需要填充SystemB的表。这可能是通过数据链完成的。每次在SystemB的表中插入一组记录时,必须运行SystemB中的进程。我可以等待SystemA完成然后运行脚本以在SystemB中开始处理,但由于SystemA可能花费很多时间处理然后填充SystemB,我宁愿SystemB在每个记录可用时立即处理它们(每个set可以独立于其他人处理,所以这应该工作正常)。 我不确定的是我如何在PL / SQL中进行偶数驱动的编程。我需要SystemA通知SystemB一个集合已准备好进行处理。我的第一个想法是在SystemB中有一个特殊的“事件”表,然后当SystemA完成一个集合时,它会插入到“事件”表中,并且插入时会有一个触发器启动该进程(并且该进程可能很长) SystemB中,每个进程可能需要5-10分钟)。我对Oracle中的触发器没有足够的经验来了解这是否是一种既定的方法,或者是否有更好的机制。建议?提示?建议吗?     
已邀请:
使用Oracle Advanced Queuing;它专为此而设计。我相信你仍然需要在两个系统之间建立数据库链接(在这种情况下从B到A,在A上使用队列)。     
是的,Oracle Advance Queues甚至让A向B提交一份值得尊敬的Oracle Job是一个更好的主意。 而且,如果您的流程需要从A到B完全复制数据,那么您可能希望看起来像Oracle Streams流程来复制数据然后进行处理。     

要回复问题请先登录注册