【问题标题】:ORACLE: how to find all dependencies of objects of a column in a specific tableORACLE:如何查找特定表中列对象的所有依赖关系
【发布时间】:2019-05-20 13:31:42
【问题描述】:

我想知道一种查询方法,我可以在其中找到具有特定表中特定列的对象的所有依赖项。 我可以用一张桌子来做,但我不知道如何用那张桌子的一列来做

SELECT   type,
           name
    FROM   user_dependencies
   WHERE   referenced_name = 'table_name'
ORDER BY   type,
           name

【问题讨论】:

  • 检查用户源
  • 如果您使用的是 Oracle 12.2 或更高版本,则可以通过 PL/SCOPE 获取此信息。 Find out more

标签: oracle data-dictionary


【解决方案1】:

user_dependencies 和 user_source 字典视图可以合并得到mytablecol0 所在的片段:

SELECT d.type, d.name, s.line as line_number, s.text
  FROM user_dependencies d
  LEFT JOIN user_source s
    ON s.name = d.name
 WHERE d.referenced_name = 'MYTABLE'
   AND upper(s.text) like '%COL0%'
 ORDER BY d.type, d.name

搜索整个数据库(前提是权限存在)

SELECT d.type, d.name, s.line as line_number, s.text
  FROM dba_dependencies d
  LEFT JOIN dba_source s
    ON s.name = d.name
 WHERE d.referenced_name = 'MYTABLE'
   AND upper(s.text) like '%COL0%'
 ORDER BY d.type, d.name

请注意:事实上mytable.* 也隐含包含您想要的列。

【讨论】:

  • @UnaiLongvalley 不客气。如果您觉得有帮助,请查看答案。
猜你喜欢
  • 1970-01-01
  • 2019-08-01
  • 1970-01-01
  • 2017-10-08
  • 2019-10-14
  • 1970-01-01
  • 2013-02-11
  • 2013-02-13
  • 1970-01-01
相关资源
最近更新 更多