【发布时间】:2016-08-16 00:23:45
【问题描述】:
谁能解释一下语法有什么问题。我想添加约束主键和唯一但也想使用相同的索引(复合索引)。
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吗?