Как проверить, является ли объект базы данных в Oracle таблицей или представлением

У меня есть список имен объектов, из которых я должен узнать, является ли объект таблицей или представлением. По этой причине я должен запросить и проверить all_tables и all_views и подтвердить, является ли объект таблицей или представлением. Я использую ниже запросы и его работу. Но поскольку у меня есть огромный список имен объектов, я хочу выполнить это в одном запросе и проверить, является ли объект таблицей или представлением, а также владельцем объекта.

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

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

2 ответов


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

там есть столбец OBJECT_TYPE.


Как насчет использования all_objects вместо этого?

например:

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