ALTER TABLE employees
ADD CONSTRAINT emp_dno_fk FORIEGN KEY(Dno) REFERENCES Departments(Dno);
当我使用此命令时,它会显示错误,如
这里不允许使用CONSTRAINT规范。
但是当我使用这个命令时,它可以工作:
ALTER TABLE employees
ADD CONSTRAINT emp_dno_fk Dno REFERENCES Departments(Dno);
有人能告诉我为什么Oracle在第一个命令中不允许使用FOREIGN KEY KEYWORD吗?
答案 0 :(得分:2)
诚然,错误消息不是很有帮助。以下是如何在Oracle中创建参照完整性约束的示例:
以下示例假定Dno
中已经存在employees
列:
ALTER TABLE employees ADD
CONSTRAINT emp_dno_fk FOREIGN KEY (Dno) REFERENCES Departments (Dno);
ALTER TABLE employees ADD
FOREIGN KEY (Dno) REFERENCES Departments (Dno);
以下示例假设Dno
中不存在employees
列:
ALTER TABLE employees ADD
CONSTRAINT emp_dno_fk Dno REFERENCES Departments (Dno);
ALTER TABLE employees ADD
Dno REFERENCES Departments (Dno);
就个人而言,我避免使用添加列的语法版本,而是希望自己添加它。