標籤:ar for sp on c ad ef sql r
有三個表:
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 的內容。
SQL SERVER 串聯刪除