我希望找到我的数据库中的视图使用的源表。我需要一个全自动的解决方案。例如,我有一个视图,从另一个从表中提取数据的视图中提取数据。浏览每个视图的DDL脚本并深入查找表格很容易,但是我希望编写一个脚本来为我在所有视图中执行此操作。我应该反对数据字典吗?有没有人有提示或脚本或查询?提前谢谢。
答案 0 :(得分:0)
如果你只是递归引用的表,试试这个。 'CONNECT BY'子句为您进行递归钻孔:
SELECT
*
FROM
sys.dba_dependencies
WHERE referenced_type = 'TABLE'
START WITH "NAME" = 'VIEW_NAME_IN_QUESTION'
CONNECT BY PRIOR REFERENCED_NAME = "NAME" AND "TYPE" = 'VIEW';
如果要查看所有对象类型,请删除where子句。 REFERENCED_NAME列会为您提供列表。