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

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

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

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

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

没有好办法。

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

暂无图片 评论
暂无图片 有用 1
打赏 0
DarkAthena

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

暂无图片 评论
暂无图片 有用 2
打赏 0
sunshine

谢谢三位的解答!

暂无图片 评论
暂无图片 有用 0
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
oracle数据库迁移到sqlserver怎么操作,涉及到blob类型?
回答 1
已采纳
可以考虑下ogg,dsg
为什么执行计划中因含有INSTR、LIKE、ERGEXP_LIKE等而导致的嵌套循环,被驱动表不能走索引?
回答 1
已采纳
INSTR、LIKE、ERGEXPLIKE等会匹配所有数据,走索引的访问路径只能是INDEXFULLSCAN。而INDEXFULLSCAN是单块读,全表扫描是多块读。如果INDEXFULLSCAN需要
安全厂家漏洞扫描机制
回答 2
已采纳
1、是漏洞检测机制的问题。同时负责扫描的工程师,为了提升扫描的速率,没有选择精确扫描。而是一选择快速扫描;A、精确扫描,一台服务器预计时间需要25分钟;B、快速扫描,一台服务器预计时间不超过5分分钟;
sga,pga内存顾问
回答 1
我觉得你说的可以。不过考虑到生产的稳定性,我更建议,优先对系统进行一次分析。假设,你的内存现在是资源瓶颈了,那就分析分析哪些业务对这个内存需求高。为什么需求高。能不能调整、优化。
Oracle 19cRAC 安装问题
回答 7
先确认第二个节点能否有效读取磁盘。第一个节点的root.sh是否执行成功?
oracle的sql优化求助
回答 2
已采纳
两表都是全表扫描,看看能否添加合适的索引。符合b.tionisnull的记录若占b表中少量的行就创建组合索引(tion,'1'),若占的较多则创建b表的组合索引(tion,id)。对于where(db
Oracle支持几种类型的LOB?
回答 1
已采纳
Oracle支持4种类型的LOB,即CLOB、NCLOB、BLOB和BFILE。CLOB:字符LOB。这种类型用于存储大量的文本信息,如XML或纯文本。这个数据类型会受到字符集转换的影响。也就是说,在
各位大佬,我这个库有一个小时的时间,日志切换都是一分钟切换一次,其他时间是正常的,这是怎么回事呢?数据库版本11.2.04
回答 3
说明这短时间没什么业务量吧,所有日志切换的频率比较稳定。
Oracle数据库什么原因容易引起重做日志竞争?
回答 1
已采纳
当在Oracle数据库的Statspck报告中看到系统花在大量的时间在“logfilesync”(日志文件同步)和“logfileparallelwrite”(日志文件并行写)等待事件上,就说明遇到了
Oracle,同一张表,两个字段a和b,a插入或更新值时,想要实时同步给b,怎么实现?
回答 2
已采纳
方法一:对两列同时赋值或更新insertintotab1(a,b)values(1,1);updatetab1seta1,b1where…方法二:重新定义列b,将其创建为虚拟列altertableta