如何检查Oracle中的数据库对象是表还是视图

时间:2015-08-06 10:36:37

标签: sql oracle views

我有对象名列表,我必须从中找出对象是表还是视图。出于这个原因,我必须查询并检入all_tables和all_views,并确认对象是表还是视图。我正在使用以下查询及其工作。但是由于我有大量的对象名称,我想在单个查询中执行此操作,并检查对象是表还是视图以及对象的所有者。

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

select * from all_tables where table_name like '%INSTANCE%'

2 个答案:

答案 0 :(得分:14)

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

那里有一个OBJECT_TYPE列。

答案 1 :(得分:11)

如何使用all_object代替?

E.g:

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