2011-04-13 43 views
1

我不得不修改現有約束,以便級聯更新和刪除。 爲此,我首先刪除了該約束,並計劃添加它(通過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; 

任何想法可能是什麼呢?我可以忽略一些東西嗎

回答

0

UPDATE CASCADE沒有在Oracle支持。你需要通過觸發器來管理這個。

檢查Oracle statement

參照完整性約束可以指定特定的動作是在一個子表的相關行進行 如果引用 父鍵值被修改。 Oracle的FOREIGN KEY完整性約束支持的引用操作是UPDATE和DELETE NO ACTION和DELETE CASCADE。