有两个表
DEPT (
DEPT_ID NUMBER(5) PRIMARY KEY,
DEPT_NAME VARCHAR2(10)
);
COURSE (
COURSE_ID NUMBER(5) PRIMARY KEY,
COURSE_NAME VARCHAR2(15),DEPT_ID NUMBER(5),
FOREIGN KEY(DEPT_ID) REFERENCES DEPT
)
我想将大小等于5
列DEPT_ID
的{{1}}约束FOREIGN KEY
。
我尝试过更改,但却出错:
ORA-02267:列类型与引用的列类型
不兼容
这是因为它违反了外键约束。
创建表格时,我没有为外键提供任何名称。那么如何在不删除任何表的情况下完成它。??
答案 0 :(得分:4)
我认为您需要执行以下操作:
alter table drop constraint
)。alter table modify column
)alter table add constraint
)这不需要删除任何表格。
答案 1 :(得分:0)
您必须先删除外键约束。然后执行你提到的命令。然后添加约束。
答案 2 :(得分:0)
正如其他人所建议的那样,您需要删除外键约束。至于约束的名称,我知道' sql server'对于oracle下面的链接可能有所帮助。 Display names of all constraints for a table in Oracle SQL