Oracle 甲骨文AQ&x27;s请求

Oracle 甲骨文AQ&x27;s请求,oracle,plsql,advanced-queuing,Oracle,Plsql,Advanced Queuing,我试图将通用pl/sql写入(重新)已排队的消息队列(以任何状态出现在队列表中) 当在队列上启用“出列”时,它可以正常工作,因此我可以在浏览模式下首先出列,以便填充DBMS\u AQ.message\u properties\u t,并从现有消息加载。但是,当禁用出列时,如何获取这些数据 DBMS_AQ.enqueue( queue_name => fine, enqueue_options => fine, m

我试图将通用pl/sql写入(重新)已排队的消息队列(以任何状态出现在队列表中)

当在队列上启用“出列”时,它可以正常工作,因此我可以在浏览模式下首先出列,以便填充
DBMS\u AQ.message\u properties\u t
,并从现有消息加载。但是,当禁用出列时,如何获取这些数据

  DBMS_AQ.enqueue(
       queue_name          => fine,
       enqueue_options     => fine,
       message_properties  => how from existing message,
       payload             => how from existing message 
                                     (probably can select, not big deal),
       msgid               => fine);

谢谢

在Oracle网站上有一个很好的例子说明了如何做到这一点:


基本上你可以以一种非破坏性的方式“出列”(即为了浏览而出列)。因为您没有退出队列,所以消息仍然保留在原位。

启用退出队列以获取消息,无论是在浏览还是删除模式:

begin
   sys.dbms_aqadm.start_queue('[QUEUE_NAME]', true, true);
end;
/

你好,Alan,我知道用于出列的DBMS_AQ.BROWSE模式,但是当在队列上禁用出列时,即使在浏览模式下也会出现错误。