具有 table 依赖项的 Oracle SQL 开发人员 window 视图
Oracle SQL Developer window view with table dependencies
在 Oracle SQL 开发人员 GUI 中,我打开了一个 table 并出现了一个带有属性的 window。这是一个名为 Dependencies
.
的 window 选项卡
我找到了这个查询:
select OWNER
, name
, type
, referenced_name
, referenced_type
from all_dependencies;
但没有为像 Oracle SQL 开发人员这样的所有所有者显示输出。
如何通过对所有所有者的查询 SQL 获得这些结果?
谢谢!
查询如:
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 开发人员 运行 的查询。如果您转到“查看”菜单并选择“日志”,或按 CtrlShiftL(假设您正在使用 Windows) 你会得到一个固定的 window,默认情况下标题为 "Messages - Log"。底部有两个选项卡,其中 "Messages" 已选中。如果您单击 "Statements",您可以看到使用的语句和绑定变量。
在这种情况下,当您刷新依赖项选项卡时会发出三个语句,其中两个是我上面显示的内容的变体 - 它们会得到更多的列,并检查双向的依赖项:
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
table 所需权限的用户身份连接,则 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
它只会显示关于 objects 您拥有 select/execute 权限的信息。在我上面显示的第一个查询中,您只需将 dba_dependencies
更改为 all_dependencies
即可查看等效(可见)结果。
如果您 运行 SQL 与您连接到 SQL 开发人员的同一用户手动 SQL,您将看到相同的结果。
在 Oracle SQL 开发人员 GUI 中,我打开了一个 table 并出现了一个带有属性的 window。这是一个名为 Dependencies
.
我找到了这个查询:
select OWNER
, name
, type
, referenced_name
, referenced_type
from all_dependencies;
但没有为像 Oracle SQL 开发人员这样的所有所有者显示输出。
如何通过对所有所有者的查询 SQL 获得这些结果?
谢谢!
查询如:
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 开发人员 运行 的查询。如果您转到“查看”菜单并选择“日志”,或按 CtrlShiftL(假设您正在使用 Windows) 你会得到一个固定的 window,默认情况下标题为 "Messages - Log"。底部有两个选项卡,其中 "Messages" 已选中。如果您单击 "Statements",您可以看到使用的语句和绑定变量。
在这种情况下,当您刷新依赖项选项卡时会发出三个语句,其中两个是我上面显示的内容的变体 - 它们会得到更多的列,并检查双向的依赖项:
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
table 所需权限的用户身份连接,则 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
它只会显示关于 objects 您拥有 select/execute 权限的信息。在我上面显示的第一个查询中,您只需将 dba_dependencies
更改为 all_dependencies
即可查看等效(可见)结果。
如果您 运行 SQL 与您连接到 SQL 开发人员的同一用户手动 SQL,您将看到相同的结果。