【发布时间】:2012-03-09 11:54:17
【问题描述】:
all_tables怎么不显示实际包含所有表的列表?
我可以做到select * from blah; 和desc blah。
但是select * from all_tables where lower(table_name) = 'blah'; 会返回 0 行。
blah 不是同义词或视图,而是表格。
是否需要运行特定的 stats 命令,以便我的用户可以查询的所有表都出现在 all_tables 中?
【问题讨论】:
-
我不相信你。如果您有一个名为 BLAH 的表并且您对其拥有权限,
select * from all_tables where lower(table_name) = 'blah';将返回一行。所以在你的代码的某个地方你犯了一个错误。请检查它。 -
'blah' 可以是视图或同义词。
-
尝试
select * from all_objects where lower(object_name) = 'blah'并检查 OBJECT_TYPE。 -
尝试
select * from dba_tables时是否找到对象 -
还有一个系统表
all_objects尝试查询select object_type from all_objects where lower(object_name) = 'blah'.. 首先它会给出系统中“blah”对象的类型..
标签: sql database oracle oracle11g