如何在 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 中清除队列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

SQL to Generate Periodic Snapshots from Transactions Table(用于从事务表生成定期快照的SQL)
MyBatis support for multiple databases(MyBatis支持多个数据库)
Oracle 12c SQL: Missing column Headers in result(Oracle 12c SQL:结果中缺少列标题)
SQL query to find the number of customers who shopped for 3 consecutive days in month of January 2020(查询2020年1月连续购物3天的客户数量)
How to get top 10 data weekly (This week, Previous week, Last month, 2 months ago, 3 month ago)(如何每周获取前十大数据(本周、前一周、上个月、2个月前、3个月前))
Select the latest record for an Id per day - Oracle pl sql(选择每天ID的最新记录-Oracle pl SQL)