建表的时候设置级联删除

如果想删除主表的时候同时删除字表数据,可以在建立外键时设置on delete cascade; 但是需要注意的是,这样是比较危险的,尽量在业务中用程序控制删除。

 

--create table a and b  
--主表
Create Table department (dept_id   number (4) Not Null Primary Key, name      varchar2 (10), importdate date default sysdate);  
--子表
Create Table employee (  
                       emp_id       number (4) Not Null Primary Key,  
                       dept_id      number (4),  Not Null
                       name         varchar2 (10),  
                       importdate   date default sysdate  
                      );  
 
Alter Table employee Add Constraint emp_fk Foreign Key (dept_id) References department(dept_id) on delete cascade;  
commit;

ALTER TABLE [tablename]

DROP CONSTRAINT FK_name ALTER TABLE [tablename]

add CONSTRAINT [FK_name] FOREIGN KEY ( [fk_tableid] ) REFERENCES [pk_tablename]     ( [pk_tableid] ) on update cascade on delete cascade


级联更新和级联删除
--删除主表时,级联删除子表
添加数据时,应先添加主表的数据记录

你可能感兴趣的:(删除)