例如,存在一个表,表名为datatest,查看有哪些对象使用了这个表
oracle 查询语句
1,以DBA方式查询
select name,type from dba_dependencies where referenced_name =upper('datatest')
另外,查询引用的相关语句,可通过下述方式
select name,type,text from dba_source where upper(text) like '%DATATEST%'
这个时候,只能查找到相关函数、存储过程,结果如下:
2, 以普通数据库用户形式查询
select name,type from all_dependencies where referenced_name =upper('datatest')
结果如下:
类似的,普通用户查询引用的相关语句,可通过下述方式
select name,type,text from user_source where upper(text) like '%DATATEST%'
这种查询也只能获取相关函数、包、存储过程,而不能获取视图对象,结果如下:
采用工具-发现数据对象
点击菜单 Tools-Find Database Objects... ,打开“对象查询”对话框
在“对象查询”对话框中输入“datatest”,点击“Search”按钮,可获取相关对象结果。
在数据库对象不多时,这种方法查找还可以,当对象多时,将会很花时间。
采用对象-Tables
在“对象浏览”对话框中选择“Tables” 文件夹,如下图所示
在Tables 文件夹下找到 datatest ,点击该对象左边的 + 号,展开该对象下的相关内容,找到“Referenced by” 内容,点击该内容左边的+号
最后结果如下:
、
默认情况下,“对象浏览”对话框正常打开,如不小心关闭,可通过点击菜单Tools-Object Browser 打开。