如何在 Oracle AQ 中清除队列

How to clear a queue in Oracle AQ(如何在 Oracle AQ 中清除队列)

本文介绍了如何在 Oracle AQ 中清除队列的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是第一次测试 Oracle AQ.我已经设法在我创建的队列中创建了 2000 行测试插入.

I've been testing Oracle AQ for the first time. I have managed to create 2000 rows of test inserts into the queue I created.

现在,我想清除这些.在自学时,我将到期时间设置为一个月.我不能等那么久.而且我认为我不应该将它们从队列表中删除.

Now, I'd like to clear those out. As I was teaching myself, I set the expiry time to be a month. I can't wait that long. And I don't think I should just delete them from the queue table.

最好的方法是什么?

推荐答案

您可以使用 DBMS_aqadm.purge_queue_table 过程.

解决方案

SQL 看起来像这样:

The SQL looks something like this :

-- purge queue
DECLARE
 po_t dbms_aqadm.aq$_purge_options_t;
BEGIN
  dbms_aqadm.purge_queue_table('MY_QUEUE_TABLE', NULL, po_t);
END;

这篇关于如何在 Oracle AQ 中清除队列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:如何在 Oracle AQ 中清除队列