Oracle高级队列

时间:2017-12-11 08:33:47

标签: sql oracle

我正在开发一个已实施Oracle AQ的项目。 在这里,我们有几个Queue表,我试图找出如何将数据插入到这些表中。我确实查看了所有可用的触发器,但没有看到任何触发器将数据插入该队列表。

我尝试使用以下查询查看特定队列表的all_dependencies,但不是运气。

select * from DBA_DEPENDENCIES DD
where DD.referenced_owner = 'XYZ' and
      DD.name like 'XYZ' and
      DD.type like 'TABLE'

任何人都可以帮助我知道,如何找出插入队列表中的数据。

2 个答案:

答案 0 :(得分:0)

尝试使用以下语句搜索所有数据库源。可能是由shell scrips等触发的预定作业或其他plsql过程。

select * from dba_source where text like '%XYZ%'; 

答案 1 :(得分:0)

ORACLE AQ表将通过DBMS_AQ包填充,而不是通过任何DML填充。 对过程DBMS_AQ.ENQUEUE的调用会将msg /记录填充到队列表中,并调用过程DBMS_AQ.DEQUEUE将从队列表中读取一个msg /记录。

对DBMS_AQ进行源搜索以了解如何将数据填充到此表中。