代码之家  ›  专栏  ›  技术社区  ›  Andrew

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

  •  20
  • Andrew  · 技术社区  · 9 年前

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

    select * from ALL_views where view_name like '%INSTANCE%'
    
    select * from all_tables where table_name like '%INSTANCE%'
    
    2 回复  |  直到 8 年前
        1
  •  33
  •   MarioAna    9 年前
    select *
      from all_objects 
     where object_name like '%INSTANCE%'
    

    其中有一个OBJECT_TYPE列。

        2
  •  14
  •   Boneist    9 年前

    改用all_objects怎么样?

    例如。:

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