暂无图片
如何查看Oracle中指定存储过程中所有相关的表?
我来答
分享
sunshine
2022-02-08
如何查看Oracle中指定存储过程中所有相关的表?

如何查看Oracle中指定存储过程中所有相关的表?

我来答
添加附件
收藏
分享
问题补充
4条回答
默认
最新
吾喾

select * from dba_dependencies t where t.referenced_name ='包名';

暂无图片 评论
暂无图片 有用 1
暂无图片
薛晓刚

没有好办法。

打开存储过程,搜索from ,后面的都是表。

暂无图片 评论
暂无图片 有用 1
DarkAthena

如果不考虑动态sql中的表,则可以考虑查询依赖视图,楼上说的dba_dependencies这个就是。
另外,from后面可不一定都是表,还可能是子查询或者表函数。
目前的sql解析工具antlr4是可以解析出一段sql中所有的表的,就算是存储过程的sql也一样可以解析,但是对于动态sql就没辙了,不实际执行一次就无法确切的知道动态sql里拼出来的是什么玩意

暂无图片 评论
暂无图片 有用 2
sunshine

谢谢三位的解答!

暂无图片 评论
暂无图片 有用 0
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏