【发布时间】:2013-01-16 15:41:03
【问题描述】:
我创建了这样的索引:
--CREATE INDEXES for Tables
CREATE UNIQUE INDEX worker_name_index ON WORKER (worker_id);
CREATE UNIQUE INDEX company_name_index ON COMPANY (company_name);
CREATE UNIQUE INDEX project_name_index ON PROJECT (project_id);
但是找不到索引在哪里:
SELECT * FROM USER_INDEXES;
也不在这里:
SELECT * FROM ALL_INDEXES;
也不在这里:
SELECT * FROM DBA_INDEXES;
而且也不能删除这些索引,因为删除会抛出 ORA-01418:specified index does not exist 错误。
--REMOVE INDEXES
DROP INDEX project_name_index;
DROP INDEX company_name_index;
DROP INDEX project_name_index;
并且无法重新创建,因为创建上升 ORA-01408:such columnt in list already indexed error...
已编辑(使用 select * all_ind_columns 且索引不存在)
【问题讨论】:
-
您的意思是您在删除时收到错误,在重新创建时收到错误(已经存在)?您发布的 DDL 无效,因为其中有一个额外的“索引”关键字。
-
是的,完全正确。而且我的意思是我不能用选择列出我的索引。但不知何故,它在某个地方“活”了,因为也不能用相同的名称重新创建它……我希望现在更清楚了。
-
不,现在还不清楚。为什么不向我们展示一切? 包括您收到的错误消息(以及您正在运行的真实语句 - 正如 DazzaL 指出的那样,问题中的语句无效)。
-
谢谢大家,你说得对,那是因为我在复制到这里时修改了查询,但我不会编辑以包含原始查询。
-
那么哪个
create生成了ORA-01408?