PL/SQL中的事件驱动编程

Fru*_*ner 2 oracle plsql event-driven-design oracle10g

我有两个PL/SQL系统,驻留在两个独立的数据库中.SystemA需要填充SystemB的表.这可能是通过数据链完成的.每次在SystemB的表中插入一组记录时,必须运行SystemB中的进程.我可以等待SystemA完成然后运行脚本以在SystemB中开始处理,但由于SystemA可能花费很多时间处理然后填充SystemB,我宁愿SystemB在每个记录可用时立即处理它们(每个set可以独立于其他人处理,所以这应该工作正常).

我不确定的是我如何在PL/SQL中进行偶数驱动的编程.我需要SystemA通知SystemB一个集合已准备好进行处理.我的第一个想法是在SystemB中有一个特殊的"事件"表,然后当SystemA完成一个集合时,它会插入到"事件"表中,并且插入时会有一个启动进程的触发器(并且进程可能很长) SystemB中,每个进程可能需要5-10分钟).我对Oracle中的触发器没有足够的经验来了解这是否是一种既定的方法,或者是否有更好的机制.建议?提示?建议吗?

Ada*_*sch 6

使用Oracle Advanced Queuing; 它专为此而设计.我相信你仍然需要在两个系统之间建立数据库链接(在这种情况下从B到A,在A上使用队列).