Xander Asked:2020-07-12 04:57:34 +0800 CST2020-07-12 04:57:34 +0800 CST 2020-07-12 04:57:34 +0800 CST 如何找到哪些视图使用特定的表? 772 下午好。 有一个oracle base,它有相当多的视图(view)。您如何快速找出它们中的哪一个引用了特定的表? 关键是我想知道如果我更改表格,哪些视图会受到影响。 如果没有使用 DBMS 本身的解决方案,那么我将感谢使用 Oracle SQL Developer 开发环境的解决方案。 sql 1 个回答 Voted Best Answer Mike 2020-07-12T06:52:15+08:002020-07-12T06:52:15+08:00 可以在系统视图中查看任何 Oracle 对象的所有依赖关系user_dependencies。请注意,在视图内部,调用不仅可以用于表,还可以用于其他视图、函数等。因此,为了可靠性,递归地考虑所有依赖关系是值得的: select * from user_dependencies start with referenced_name ='ИМЯ-ТАБЛИЦЫ' connect by trim(referenced_name)=prior trim(name); 如果需要,添加条件type='VIEW'以获取有关视图的信息,而不是有关依赖于表的所有对象的信息。
可以在系统视图中查看任何 Oracle 对象的所有依赖关系
user_dependencies
。请注意,在视图内部,调用不仅可以用于表,还可以用于其他视图、函数等。因此,为了可靠性,递归地考虑所有依赖关系是值得的:如果需要,添加条件
type='VIEW'
以获取有关视图的信息,而不是有关依赖于表的所有对象的信息。