SQL SERVER 數據庫級聯刪除


--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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM