如何查找由特定plsql方法更新的所有表

时间:2015-05-11 10:43:19

标签: oracle plsql

有没有办法找到所有哪些表(可能)由特定的PLSQL方法更新,而不是通过代码检查?

2 个答案:

答案 0 :(得分:0)

不,不是真的。

ALL_DEPENDENCIES列出了PL / SQL包静态引用的表,但这些表包括read和tebles更新的表,而且它包含整个包,而不仅仅是单个过程。未列出通过动态SQL更新的表。此外,一个过程可以调用包外的过程,并且它们可以反过来更新其他表。

答案 1 :(得分:0)

也许查询all_source表:

select * from  all_source
where name = 'procedure_name'
and upper(text) like upper('%update TABLE_NAME%');

虽然不完全是你想要的,但它会在UPDATE之后显示哪些过程,函数或包包含table_name(假设它们在同一行上)。