如何查找 Oracle 10G PL/SQL 函数和过程中的所有表引用?
如何查找 Oracle 10G PL/SQL 函数和过程中的所有表引用?
我绝对可以执行以下 SQL 语句:
select * from dba_source where text like '%tbl_c%'
但我想知道如何找到所有调用引用所用表的函数的函数。例如,我可以有一个函数 A 调用使用表 tbl_c 的函数 B。如果我执行上述 SQL,我将找到函数 B,但随后我必须执行另一个 SQL 才能找到 A。如您所知,圈复杂度可能是 3、4、5 级深,甚至更高。
预先非常感谢您的解释。
How to find all table references from Oracle 10G PL/SQL functions and procedures?
I definitely can execute the following SQL statement:
select * from dba_source where text like '%tbl_c%'
but I wonder how to find all functions that call functions that refer to table used. For example I can have a function A that calls function B that uses table tbl_c. If I'll execute aforementioned SQL I'll find funciton B but then I have to execute another SQL to find A. As you know the cyclomatic complexity could be 3,4,5 levels deep or even greater.
Greatly appreciate in advance for your explanation.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
dba_dependencies 是开始的地方。例子:
dba_dependencies is where to start. Example:
我更愿意使用 ALL_DEPENDENCIES 当寻找对象引用而不是 ALL_SOURCE 时。添加到分层查询中,您可以获得所需的任何内容。
I'd prefer to use ALL_DEPENDENCIES when looking for object references rather than ALL_SOURCE. Adding to a hierarchical query, you could get what ever you need.