日期:2014-05-17  浏览次数:20881 次

怎么修改外键约束?
大家好,请问 Oracle 中,如何修改外键约束,我用 modify 命令以下脚本修改时出错:
alter table employee
  modify constraint emp_dep foreign key(dep_id)
  references department(dep_id)
  on delete cascade;

是不是要先 drop 外键约束,再重新 add,不能直接修改外键约束的吗?

还有,外键约束就只能关联 delete 的吗?不能关联 update 吗?

我用以下代码是也出错:
alter table employee
  add constraint emp_dep foreign key(dep_id)
  references department(dep_id)
  on update cascade;

----
待复,感谢!


------解决方案--------------------
on delete 后面可接cascade 或者set null
on delete cascade表示级联删除,删除记录的时候同时将关联的内容去掉
on delete set null 表示设置为空,删除记录是对关联的内容不做处理,
至于要修改的外键关联,是要重新关联到另外一张表的新的字段,可以先删除外键关联再重新建立新的外键关联。
------解决方案--------------------
好像不支持 update cascade 吧?