暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

在Oracle中,如何查找存储过程或视图中引用了哪些基表?

DB宝 2019-04-13
2524


题目部分

在Oracle中,如何查找存储过程或视图中引用了哪些基表?


     

答案部分



可以查询DBA_DEPENDENCIES视图,该视图记录了对象与对象之间的依赖关系,NAME列为当前对象,而REFERENCED_NAME为其依赖的基对象。所以,该视图也可以查询某个表被哪些对象所引用,从而知道该表是否可以被删除。

下例展示了DBA_SQL_PLAN_BASELINES视图依赖的对象:

 1  SH@PROD1> SELECT D.OWNER,
2  2         D.NAME,
3  3         D.TYPE,
4  4         D.REFERENCED_OWNER,
5  5         D.REFERENCED_NAME,
6  6         D.REFERENCED_TYPE
7  7    FROM DBA_DEPENDENCIES D
8  8   WHERE D.NAME = 'DBA_SQL_PLAN_BASELINES';
9
10OWNER     NAME                           TYPE               REFERENCED_OWNER               REFERENCED_NAME            REFERENCED_TYPE
11--------- ------------------------------ ------------------ ------------------------------ -------------------------- ------------------
12PUBLIC    DBA_SQL_PLAN_BASELINES         SYNONYM            SYS                            DBA_SQL_PLAN_BASELINES     VIEW
13SYS       DBA_SQL_PLAN_BASELINES         VIEW               SYS                            SQLOBJ$AUXDATA             TABLE
14SYS       DBA_SQL_PLAN_BASELINES         VIEW               SYS                            SQLOBJ$                    TABLE
15SYS       DBA_SQL_PLAN_BASELINES         VIEW               SYS                            SQL$TEXT                   TABLE

复制

可以看到,公共同义词DBA_SQL_PLAN_BASELINES依赖于和其同名的视图,而DBA_SQL_PLAN_BASELINES视图依赖于SYS.SQLOBJ$AUXDATASYS.SQLOBJ$SYS.SQL$TEXT3个基表。

& 说明:

有关Oracle数据字典更多内容可以参考我的BLOGhttp://blog.itpub.net/26736162/viewspace-2153324/

 


本文选自《Oracle程序员面试笔试宝典》,作者:李华荣。



---------------优质麦课------------

 详细内容可以添加麦老师微信或QQ私聊。



About Me:小麦苗

 本文作者:小麦苗,只专注于数据库的技术,更注重技术的运用

● 作者博客地址:http://blog.itpub.net/26736162/abstract/1/

 本系列题目来源于作者的学习笔记,部分整理自网络,若有侵权或不当之处还请谅解

 版权所有,欢迎分享本文,转载请保留出处

 QQ:646634621  QQ群:618766405

 提供OCP、OCM和高可用部分最实用的技能培训

● 题目解答若有不当之处,还望各位朋友批评指正,共同进步

DBA宝典

长按下图识别二维码或微信扫描下图二维码来关注小麦苗的微信公众号:xiaomaimiaolhr,学习最实用的数据库技术。

喜欢就点击“好看”吧



最后修改时间:2020-01-10 20:16:14
文章转载自DB宝,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论