创建约束alter table invalid

时间:2011-04-13 08:39:19

标签: sql oracle oracle10g constraints

我必须修改现有约束,以便级联更新和删除。 为此,我首先删除了约束,并计划添加它(通过ALTER TABLE),但这失败了。

当我提交下面的查询时,它会给我一个错误' ORA-01735: invalid ALTER TABLE option':

ALTER TABLE 
    PARAM 
ADD CONSTRAINT 
    FK_PARAM_PORTLET FOREIGN KEY (PORTLETID) 
REFERENCES PORTLET(ID) 
ON DELETE CASCADE ON UPDATE CASCADE;

知道它可能是什么?我忽略了什么吗?

2 个答案:

答案 0 :(得分:2)

Oracle在外键中不支持ON UPDATE CASCADE

请查看此问题以获取提示:How to create a Foreign Key with "ON UPDATE CASCADE" on Oracle?

答案 1 :(得分:0)

Oracle不支持UPDATE CASCADE。您需要通过触发器来管理它。

检查Oracle statement

  

参照完整性约束可以指定要执行的特定操作   如果引用,则对子表中的从属行执行   父键值已修改。支持的参考行动   Oracle的FOREIGN KEY完整性约束是UPDATE和DELETE NO   ACTION和DELETE CASCADE。