首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PL/SQL中的事件驱动编程

PL/SQL中的事件驱动编程
EN

Stack Overflow用户
提问于 2011-02-17 03:22:23
回答 2查看 1.4K关注 0票数 2

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

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-02-17 03:26:02

使用Oracle高级队列;它就是为此而设计的。我相信您仍然需要在两个系统之间建立一个数据库链接(在本例中是从B到A,以使用A上的队列)。

票数 6
EN

Stack Overflow用户

发布于 2011-02-17 03:39:34

是的,Oracle高级队列或者甚至让A向B提交一个受人尊敬的Oracle作业将是一个更好的想法。

而且,如果您的进程需要将数据从A完全复制到B,那么您可能希望看起来像Oracle Streams进程,以复制数据,然后执行处理。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5021088

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档