小编Jor*_*Fox的帖子

"此列列表没有匹配的唯一键或主键".但主键确实存在

所以我正在练习一些sql编码进行测试,我无法获得引用主键的外键.

这是不起作用的表:

CREATE TABLE ASSIGNMENT(
ASSIGN_ID NUMBER(2) NOT NULL,
START_DATE DATE,
END_DATE DATE,
BUDGET NUMBER (10,2),
MANAGER_ID NUMBER(2),
  PRIMARY KEY (ASSIGN_ID,MANAGER_ID),
  FOREIGN KEY (MANAGER_ID) REFERENCES EMPLOYEE(EMP_ID)
);
Run Code Online (Sandbox Code Playgroud)

这是它引用的表:

CREATE TABLE EMPLOYEE(
EMP_ID NUMBER(2) NOT NULL,
NAME VARCHAR(40),
OFFICE VARCHAR(20),
EXPERT_ID NUMBER(2),
  PRIMARY KEY (EMP_ID,EXPERT_ID),
  FOREIGN KEY (EXPERT_ID) REFERENCES EXPERTISE(EXPERT_ID)
);
Run Code Online (Sandbox Code Playgroud)

每当我尝试运行脚本时,它总会返回:

错误报告 -
SQL错误:ORA-02270:此列列表
没有匹配的唯一键或主键02270. 00000 - " 此列列表没有匹配的唯一键或主键"
*原因:CREATE/ALTER TABLE中的REFERENCES子句statement
给出了一个列表,在引用的表中没有匹配的唯一或主键约束.
*操作:使用ALL_CONS_COLUMNS目录视图查找正确的列名称

我环顾四周但似乎无法找到问题.任何帮助,将不胜感激.

这是完整的代码(还没有测试过最后一个表):

CREATE TABLE EXPERTISE(
EXPERT_ID NUMBER(2) NOT NULL,
DESCRIPTION VARCHAR(50),
HOURLY_RATE NUMBER(3,2),
CHARGE_RATE NUMBER(3,2),
  PRIMARY KEY(EXPERT_ID) …
Run Code Online (Sandbox Code Playgroud)

sql oracle unique

3
推荐指数
1
解决办法
2768
查看次数

标签 统计

oracle ×1

sql ×1

unique ×1