我创建了一个非常简单的索引,现在我只想显示索引的信息,但我无法出于某种原因这样做...我知道我之前已经完成了但现在我无法做到。我尝试了不同的方法,但我只是得到错误(无效的SQL语句)。我正在寻找的是一个与我DESC Test_Table
时相同的视图:
我正在使用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')
"表或视图不存在"
为什么我会收到这些错误?
答案 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”传递,则可能会失败