删除ON DELETE CASCADE
问题描述:
我有一个子表。并在创建表时使用ON DELETE CASCADE的外键。删除ON DELETE CASCADE
在子表或父表中没有记录。
我想要主键,外键是原样,但只想从子表中删除CASCADING选项。
有无论如何,我可以改变这个子表。
谢谢。
答
ON DELETE { NO ACTION | CASCADE | SET NULL | SET DEFAULT }
默认值为NO ACTION。
因此,请尝试将您的子表更改回默认值。
答
(Oracle)只能更改约束的状态。 ON DELETE不是一个状态。所以你需要放弃约束并重新创建它。
drop table t1 cascade constraints;
create table t1 (id number unique, rid number constraint t1_fk references t1(id) on delete cascade);
alter table t1 drop constraint t1_fk;
alter table t1 add constraint t1_fk foreign key(rid) references t1(id);
,如果你使用的是Oracle有可能帮助你重新创建约束正确的删除级联
FID数(5)引用父(PID)不同的字典视图; 所以我需要发出改变表子修改fid上删除设置默认.....对吗? – Raghav 2014-10-28 10:45:40
我正在使用Oracle – Raghav 2014-10-28 10:54:24