如何识别所有引用Oracle中特定表的存储过程



我正在与Oracle 12c一起工作,需要查找所有参考文献,其中存储过程/function/function/function packages /em>。

我已经找到了有关MS SQL Server的答案,但是除了sp_helpsp_depends,它有时返回不准确的结果。

我知道在表all_sourcetext列中搜索,例如,此代码仅搜索标准用户定义的软件包名称,而不是系统包):

SELECT   type, name, line, text 
   FROM  all_source 
   WHERE type = 'PACKAGE BODY'
     AND name like 'P%' 
     AND UPPER(text) like '%' || p_table_or_view_name || '%'
   ORDER BY name, line;

但是我正在寻找 oracle 的更优雅和/或标准解决方案。

我还在检查这个答案是否可以以任何方式帮助我。

我将感谢任何帮助。

使用ALL_DEPENDENCIES字典表:

SELECT *
FROM   ALL_DEPENDENCIES
WHERE  referenced_name = 'YOUR_TABLE_NAME'
AND    owner           = 'YOUR_USER';

最新更新