功能:在刪除主表時,自動刪除副表(外鍵約束)相應(yīng)內(nèi)容
刪除包含主鍵值的行的操作,該值由其它表的現(xiàn)有行中的外鍵列引用。在級聯(lián)刪除中,還刪除其外鍵值引用刪除的主鍵值的所有行。
如:
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, --真實(shí)姓名
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)
SQL Server支持級聯(lián)更新和刪除
Oracle只支持級聯(lián)刪除
alter table 表名
add constraint 外鍵名
foreign key(字段名) references 主表名(字段名)
on delete cascade
語法:
Foreign Key
(column[,...n])
references referenced_table_name[(ref_column[,...n])]
[on delete cascade]
[on update cascade]
注釋:
column:列名
referenced_table_name:外鍵參考的主鍵表名稱
ref_name:外鍵要參考的表的主鍵列
on delete:刪除級聯(lián)
on update:更新級聯(lián)
更多信息請查看IT技術(shù)專欄