【发布时间】:2016-02-24 16:58:28
【问题描述】:
Oracle 新手 我正在尝试分配复合键
CREATE TABLE rep_contracts
( Store_id NUMBER(8),
Name NUMBER(5)
Quarter CHAR(3),
Rep_id NUMBER(5),
CONSTRAINT rep_contracts_rep_idstore_id_pk PRIMARY KEY (rep_id, store_id),
CONSTRAINT rep_contracts_rep_id_fk FOREIGN KEY (rep_id),
CONSTRAINT rep_contracts_store_id_fk FOREIGN KEY (store_id) );
我收到了
ORA-00972: identifier is too long
我知道复合键标识符超过 30 个字符 但是如果我将标识符缩短几个字符,例如:
rep_contrac_rep_idstore_id_pk
然后我收到
ORA-00905: missing keyword
我找不到任何解决方法
【问题讨论】:
-
您省略了两个外键的 REFERENCES 子句。
-
呃所以问题中的错误不是错误 - 你解决了这个问题,它与长度无关,问题是 缺少关键字
-
@Alex 是的,但是关键字太长“解决”了缺少关键字的问题! ;-)
-
你在
Name NUMBER(5)之后错过了,
标签: oracle oracle11g identifier composite-primary-key