SQL SERVER 級聯刪除


有三個表:

 

Company

Address

Contact

在Address和Contact中建立外鍵,外鍵id為company的id,

那么就不能任意刪除Company。但假如在外鍵約束中把級聯刪除選上,就會連帶address和contact一起刪除。

  

SQL SERVER級聯刪除:在刪除主表時,自動刪除副表(外鍵約束)相應內容

SQL SERVER級聯刪除包含主鍵值的行的操作,該值由其它表的現有行中的外鍵列引用。在級聯刪除中,還刪除其外鍵值引用刪除的主鍵值的所有行。

如:

 

create database temp

go

use temp

go

 

create table UserInfo

(

UserId int identity(1,1) primary key ,

UserName varchar(20), --用戶名

password varchar(20) not null --密碼

)

 

create table UserDetails

(

id int identity(1,1) primary key,

name varchar(50) not null, --真實姓名

userId int,

foreign key (userId) references UserInfo(UserId) on delete cascade

)

 

insert UserInfo values ('ly','jeff')

insert UserInfo values('wzq','wzqwzq')

insert UserInfo values('lg','lglg')

 

insert UserDetails values('李四',1)

insert UserDetails values('王五',2)

insert UserDetails values('劉六',3)

 

此時:Delete From UserInfo Where UserId = 1 就可刪除UserInfo表和UserDetails表的UserId=1 的內容

 

insert UserInfo values ('ly','jeff')

insert UserInfo values('wzq','wzqwzq')

insert UserInfo values('lg','lglg')

 

insert UserDetails values('李四',1)

insert UserDetails values('王五',2)

insert UserDetails values('劉六',3)

 

此時:Delete From UserInfo Where UserId = 1 就可刪除UserInfo表和UserDetails表的UserId=1 的內容。


免責聲明!

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



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