我正在与Oracle 12c一起工作,需要查找所有参考文献,其中存储过程/function/function/function 和 packages /em>。
我已经找到了有关MS SQL Server的答案,但是除了sp_help
和sp_depends
,它有时返回不准确的结果。
我知道在表all_source
的text
列中搜索,例如,此代码仅搜索标准用户定义的软件包名称,而不是系统包):
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';