是否可以编写 PL/SQL 查询来识别存储过程依赖项的完整列表?我只对识别其他存储过程感兴趣,并且我也不希望限制它的嵌套深度。例如,如果 A 调用 B,B 调用 C,C 再调用 D,我希望将 B、C 和 D 报告为 A 的依赖项。
On 这一页,您将发现以下查询使用PUBLIC_DEPENDENCY字典表:
SELECT lvl
, u.object_id
, u.object_type
, LPAD (' ', lvl) || object_name obj
FROM ( SELECT LEVEL lvl, object_id
FROM SYS.public_dependency s
START WITH s.object_id =
( SELECT object_id
FROM user_objects
WHERE object_name = UPPER ('&OBJECT_NAME')
AND object_type = UPPER ('&OBJECT_TYPE'))
CONNECT BY s.object_id = PRIOR referenced_object_id
GROUP BY LEVEL, object_id) tree
, user_objects u
WHERE tree.object_id = u.object_id
ORDER BY lvl
/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)