查看索引的问题

时间:2014-09-11 09:03:12

标签: sql oracle

我创建了一个非常简单的索引,现在我只想显示索引的信息,但我无法出于某种原因这样做...我知道我之前已经完成了但现在我无法做到。我尝试了不同的方法,但我只是得到错误(无效的SQL语句)。我正在寻找的是一个与我DESC Test_Table时相同的视图:

enter image description here

我正在使用Oracle Application Express。

我创建的索引如下所示:

CREATE UNIQUE INDEX Test_Index ON Test_Table(Attribute1, Attribute2)

我尝试了这些不同的方法来显示索引,但它们都不起作用

SELECT Test_Index FROM dba_indexes WHERE table_name='Test_Table';

"表或视图不存在"

exec sp_helpindex Test_Table

"无效的SQL语句"

SELECT * FROM sysindexes WHERE id = object_id('Test_Table')

"表或视图不存在"

为什么我会收到这些错误?

1 个答案:

答案 0 :(得分:1)

好像您没有查看dba_indexes的权限。 sysindexes在Oracle上不存在,只在SQL Server上(从我收集到的,无论如何 - 我不熟悉SQL Server)

exec也是一个SQL Server宿醉。

尝试查询user_indexes表 -

select index_name from user_indexes
where table_name= 'TEST_TABLE'

请注意,只要引用某些内容,SQL就区分大小写,因此如果您将表名称作为“Test_Table”传递,则可能会失败