gpt4 book ai didi

oracle - PL/SQL : How to handle timeout for DBMS_AQ. 出列

转载 作者:行者123 更新时间:2023-12-02 11:42:38 30 4
gpt4 key购买 nike

我正在从 PL/SQL 程序调用 DBMS_AQ.DEQUEUE。我不想永远等待,但如果在再次尝试出队之前队列中没有数据,我会定期超时。 Oracle documentation DEQUEUE 过程清楚如何指定超时(使用 dequeue_options 中的等待字段)。然而,它没有提及超时时会发生什么。

我本来期望文档指定如何处理超时情况,但要么是我忽略了它,要么是文档疏忽,要么它应该是显而易见的,只是我缺乏 PL/SQL 经验,让我不知道如何处理做吧。无论如何,任何有关如何最好地处理/捕获 DEQUEUE 超时的建议将不胜感激。

最佳答案

对于其他正在寻找答案的人,这就是我所追求的(感谢 nineside 的评论):

begin
dbms_aq.dequeue(
payload => payload
,queue_name => queue_name
,dequeue_options => deq_opt
,message_properties => msg_prty
,msgid => msgid
);
exception
when others then
if sqlcode = -25228 then
-- handle timeout here
end if;
end;

关于oracle - PL/SQL : How to handle timeout for DBMS_AQ. 出列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34061202/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com