如何区分数据库对象(在Oracle中)是表还是视图

时间:2011-07-24 09:09:34

标签: sql oracle

我想区分视图和表格。基本上,我想找到所有具有特定列名的表。

select table_name from user_tab_columns x where column_name='STUDENTID';

上述查询还返回具有相同列的视图。我尝试使用以下内容,但是,我觉得运行并返回需要很长时间......

select table_name from user_tables where table_name in (select x.table_name from user_tab_columns x where x.column_name='PLAN_NAME');

请提出任何建议。

1 个答案:

答案 0 :(得分:7)

我猜连接会比subselect更快。试试这个:

select c.table_name 
from user_tab_columns c, user_tables t
where c.table_name = t.table_name
and c.column_name='STUDENTID';