我在建立的局部索引前加了唯一性约束,怎么不起作用?

/*==============================================================*/
/* Table: IDCAS_T_DEGR /
/
==============================================================*/
create table IDCAS_T_DEGR (
IDCAS_K_DEGR INT not null,
F_TYPE VARCHAR(4) not null,
F_ACCO VARCHAR(30) not null,
F_PASS VARCHAR(30),
F_REMARK VARCHAR(200),
F_SIGN VARCHAR(10) default '0000000000' not null,
F_MEMO1 VARCHAR(200),
F_MEMO2 VARCHAR(200),
F_MEMO3 VARCHAR(200),
constraint PK_IDCAS_T_DEGR primary key (IDCAS_K_DEGR)
)
partition by list
( F_TYPE )
( partition part_type01
values ( 01 ) );

/*==============================================================*/
/* Index: IDCAS_I_DEGR /
/
==============================================================*/
create [color=red]unique[/color] index IDCAS_I_DEGR on IDCAS_T_DEGR (
F_TYPE,F_ACCO
) local;

我想问:我在建立的局部索引前加了唯一性约束,怎么不起作用?竟然插入重复值也可以?是否局部索引不能具有唯一性?
我用的数据库是oracle10g

[code="sql"]create unique index IDCAS_I_DEGR on IDCAS_T_DEGR (
F_TYPE,F_ACCO
) local;[/code]

你的unique index 是组合索引,也就是F_TYPE F_ACCO 的组合的值不能相同.

我的测试SQL:
[code="sql"]insert into IDCAS_T_DEGR values(1, 'a', 'a', null, null, 'a', null, null, null);
insert into IDCAS_T_DEGR values(2, 'a', 'a', null, null, 'a', null, null, null);[/code]

我测试,第一条能插入,不能插入第二条数据,抛的错就是: 违法唯一约束条件:IDCAS_I_DEGR

所以, 你的SQL没错, 是否你没注意这是组合的索引 ???