查询以从数据库中选择所有表,但没有实例化视图

big*_*big 1 mysql sql oracle

我正在通过使用查询从数据库中选择所有表

select table_name from all_tables where owner='XYZ' order by table_name
Run Code Online (Sandbox Code Playgroud)

但是上面的查询也返回了物化视图。我怎样才能只获得表而不得到物化视图

Daz*_*zaL 5

您可以使用以下命令忽略实例化视图及其日志表(如果存在)

select *
  from all_tables t
 where owner = user
   and (owner, table_name) not in (select owner, mview_name
                                     from all_mviews l
                                   union all
                                   select log_owner, log_table
                                     from all_mview_logs)
Run Code Online (Sandbox Code Playgroud)