【发布时间】:2015-07-17 11:10:56
【问题描述】:
我是 SQL 的新手,当我尝试遵循 here 帖子中的建议以在我的专栏中只执行一个“是”时,我试图找出一条错误消息。
DROP TABLE team CASCADE CONSTRAINTS PURGE;
create table team (
name varchar2(4) NOT NULL UNIQUE,
isTeamLead char(3)
check (isTeamLead in ('Yes')));
create unique index only_one_yes on team(isTeamLead)
(case when col='YES' then 'YES' end);
报错如下:
Error report -
SQL Error: ORA-02158: invalid CREATE INDEX option
02158. 00000 - "invalid CREATE INDEX option"
*Cause: An option other than COMPRESS, NOCOMPRESS, PCTFREE, INITRANS,
MAXTRANS, STORAGE, TABLESPACE, PARALLEL, NOPARALLEL, RECOVERABLE,
UNRECOVERABLE, LOGGING, NOLOGGING, LOCAL, or GLOBAL was specified.
*Action: Choose one of the valid CREATE INDEX options.
有什么想法吗?
运行 Oracle Database 11g Enterprise Edition Release 11.2.0.1.0
【问题讨论】:
-
CASE 语句中的 col 是什么? Oracle 在创建索引时没有识别并报告错误。
create unique index only_one_yes on team(isTeamLead);可以正常工作。
标签: sql oracle11g unique-index