如何检查Oracle数据库对象是否为表或视图

20

我有一个对象名称列表,需要确定该对象是表还是视图。为此,我必须查询并在all_tables和all_views中检查并确认该对象是否为表或视图。我正在使用以下查询,并且它正在工作。但由于我有大量的对象名称列表,我希望能够在单个查询中执行此操作,检查对象是表还是视图以及对象的所有者。

select * from ALL_views where view_name like '%INSTANCE%'

select * from all_tables where table_name like '%INSTANCE%'
2个回答

34
select *
  from all_objects 
 where object_name like '%INSTANCE%'

那里有一个OBJECT_TYPE列。


15

使用all_objects如何?

例如:

select owner,
       object_name,
       object_type
from   all_objects
where  object_type in ('TABLE', 'VIEW')
and    object_name in (....);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接