我有对象名列表,我必须从中找出对象是表还是视图。出于这个原因,我必须查询并检入all_tables和all_views,并确认对象是表还是视图。我正在使用以下查询及其工作。但是由于我有大量的对象名称,我想在单个查询中执行此操作,并检查对象是表还是视图以及对象的所有者。
select * from ALL_views where view_name like '%INSTANCE%'
select * from all_tables where table_name like '%INSTANCE%'
答案 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 (....);