我的oracle数据库中有大约15000个表。我想主要获取这些未使用的表的列表,因为它们没有出现在all_dependencies中,而是使用了dba_tables和all_dependencies之间的连接。
查询是什么?
答案 0 :(得分:0)
我不确定这是否是你想要的,all_dependencies中不存在的表
select t.table_name from all_tables t where t.table_name
not in (select referenced_name from all_dependencies d where t.table_name=d.referenced_name and d.REFERENCED_TYPE='TABLE')
答案 1 :(得分:0)
Check this if it works for you.. SELECT * FROM dba_tables tb WHERE NOT EXISTS (SELECT 1 FROM all_dependencies dep WHERE TB.OWNER = DEP.OWNER AND TB.TABLE_NAME = DEP.REFERENCED_NAME AND DEP.REFERENCED_TYPE = 'TABLE');
答案 2 :(得分:0)
查询变为:
SELECT t.table_name
FROM dba_tables t
WHERE t.table_name NOT IN (SELECT d.referenced_name
FROM dba_dependencies d
WHERE d.REFERENCED_TYPE = 'TABLE'
and d.referenced_name = t.table_name)