有了这样的查询:
select owner, name, type, referenced_owner, referenced_name, referenced_type
from dba_dependencies
where referenced_owner = user and referenced_name = 'YOUR_TABLE_NAME';
或使用绑定变量:
var object_owner varchar2(30);
var object_name varchar2(30);
exec :object_owner := user;
exec :object_name := 'YOUR_TABLE_NAME';
select owner, name, type, referenced_owner, referenced_name, referenced_type
from dba_dependencies
where referenced_owner = :object_owner and referenced_name = :object_name ;
实际上,你可以看到SQL Developer的引擎盖下运行的查询。如果您转到“查看”菜单并选择“日志”,或者点击CtrlShiftL(假设您使用的是Windows),您将获得一个停靠窗口,默认情况下标题为“消息 - 日志”。在底部是两个选项卡,选择“消息”。如果单击“语句”,则可以看到使用的语句和绑定变量。
在这种情况下,有三种说法,当刷新依存关系选项卡发行,其中两个是什么,我上面显示的变化 - 他们得到一些更多的列,并为您的依赖性会两种方式:
select owner, name, type, referenced_owner, referenced_name, referenced_type ,
owner sdev_link_owner, name sdev_link_name, type sdev_link_type
from Dba_DEPENDENCIES
where referenced_owner = :OBJECT_OWNER and referenced_name = :OBJECT_NAME
select owner, name, type, referenced_owner, referenced_name, referenced_type ,
referenced_owner sdev_link_owner, referenced_name sdev_link_name, referenced_type sdev_link_type
from Dba_DEPENDENCIES
where owner = :OBJECT_OWNER and name = :OBJECT_NAME
如果你想弄清楚如何复制你能看到的东西,它们是一个很好的开始。
如果你连为不具备必要看dba_dependencies
表,SQL开发人员,而不是回落到all_dependencies
的权限的用户:
select owner, name, type, referenced_owner, referenced_name, referenced_type ,
owner sdev_link_owner, name sdev_link_name, type sdev_link_type
from ALL_DEPENDENCIES
where referenced_owner = :OBJECT_OWNER and referenced_name = :OBJECT_NAME
select owner, name, type, referenced_owner, referenced_name, referenced_type ,
referenced_owner sdev_link_owner, referenced_name sdev_link_name, referenced_type sdev_link_type
from Dba_DEPENDENCIES
where owner = :OBJECT_OWNER and name = :OBJECT_NAME
这只会显示有关对象的信息,你有选择/执行特权。在我上面显示的第一个查询中,您可以将dba_dependencies
更改为all_dependencies
以查看等效(可见)结果。
如果您以连接到SQL Developer的相同用户身份手动运行SQL,则会看到相同的结果。
好的提示,谢谢! – Catalin