--SQL SERVER 2008R2 级联删除:主子表设置外键关联,当主表数据删除的时候会自动删除子表中对应的数据 --创建主表 create table test_main( ID int identity(1,1) PRIMARY KEY, COL2 varchar(50), COL3 varchar(50) ) --创建子表 create table test_detail( BID int identity(1,1) PRIMARY KEY, ID int, COL3 varchar(50), COL4 varchar(50) ) --子表设置外键关联,在删除时起作用,[FK_T_MAIN_T_DETAIL]是主子表关联外键的名字 Alter TABLE test_detail ADD CONSTRAINT [FK_T_MAIN_T_DETAIL] FOREIGN KEY( [ID] ) REFERENCES [dbo].[test_main] ( [ID] ) ON Update CASCADE ON Delete CASCADE --插入测试数据 insert into test_main values('aaa','bbb') insert into test_detail values('1','ccc','aaa') insert into test_detail values('1','ddd','aaa') --查看数据是否存在 select * from test_main select * from test_detail --删除主表数据时,会根据外键把子表的数据删除 delete from test_main where ID='1' --drop table test_detail --drop table test_main