Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oracle10g Oracle sql中多个读卡器的等待/通知机制?_Oracle10g - Fatal编程技术网

Oracle10g Oracle sql中多个读卡器的等待/通知机制?

Oracle10g Oracle sql中多个读卡器的等待/通知机制?,oracle10g,Oracle10g,我们有多个进程,它们读取一个数据库表,获取可用记录并使用它。它很好用 当此表中没有记录时,每个进程将等待5秒并再次读取。 因此,记录可能会在表中闲置5秒钟,这是不好的 建议采用什么解决方案来消除此类等待,并在创建记录时立即进行?一种解决方案是触发器,它在创建记录时执行某些操作。但此解决方案需要了解工作流程,才能将记录传递给空闲流程之一 看起来,理想的解决方案是,当每个进程开始通过SQL从某个对象读取数据时,当创建记录时,其中一个等待的进程将有它的记录,而另一个进程将继续等待 Oracle 10是

我们有多个进程,它们读取一个数据库表,获取可用记录并使用它。它很好用

当此表中没有记录时,每个进程将等待5秒并再次读取。 因此,记录可能会在表中闲置5秒钟,这是不好的

建议采用什么解决方案来消除此类等待,并在创建记录时立即进行?一种解决方案是触发器,它在创建记录时执行某些操作。但此解决方案需要了解工作流程,才能将记录传递给空闲流程之一

看起来,理想的解决方案是,当每个进程开始通过SQL从某个对象读取数据时,当创建记录时,其中一个等待的进程将有它的记录,而另一个进程将继续等待

Oracle 10是否提供了这样或类似的机制?

看看10g,它后来被重命名为连续查询通知


我通常喜欢包含一个示例,但现在很难找到10g实例,即使是一个简短的示例也需要大量代码。这个过程看起来很复杂,最好按照您的建议使用触发器,并处理紧耦合。

谢谢您的回答,但我不确定它是否对我有帮助。对我来说,它看起来像是更新通知的附加机制。常规触发器可以做到这一点。我对更新计数不感兴趣。我的兴趣是等待更新,然后通知一个(最坏情况-所有)等待查询。如此多的进程启动查询并等待,当有问题需要回答时,等待就结束了,然后可以继续(在最坏的情况下——竞争这个结果,但这是另一个众所周知的情况)。不可能让一个查询等待事情的改变;Oracle查询始终是时间点,只返回查询开始时的结果。然而,DCN或CQN可以启动PL/SQL或JDBC进程,然后运行查询。