功能:在刪除主表時,自動刪除副表(外鍵約束)相應內容
刪除包含主鍵值的行的操作,該值由其它表的現有行中的外鍵列引用。在級聯刪除中,還刪除其外鍵值引用刪除的主鍵值的所有行。
如:
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)
SQL Server支持級聯更新和刪除
Oracle只支持級聯刪除
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:刪除級聯
on update:更新級聯
更多信息請查看IT技術專欄