有人可以解释我语法有什么问题。我想添加约束主键和唯一的,但也想使用相同的索引(复合索引)。Out of line sql索引创建问题Oracle
create table val (
val1 number, val2 number,
constraint val_pk primary key(val1) using index(create index val_index on val(val1,val2)),
constraint val_unique unique (val2) using index val_index);
它给我一个错误
create table val (
val1 number, val2 number,
constraint val_pk primary key(val1) using index(create index val_index on val(val1,val2)),
constraint val_unique unique (val2) using index val_index)
Error report -
SQL Error: ORA-14196: Specified index cannot be used to enforce the constraint.
14196. 00000 - "Specified index cannot be used to enforce the constraint."
*Cause: The index specified to enforce the constraint is unsuitable
for the purpose.
*Action: Specify a suitable index or allow one to be built automatically.
感谢您的答案。
为什么'val1,val2'上的索引适合对'val2'强制执行一个唯一的约束?你能否以相反的顺序定义'val_index'? –