SQL SERVER 級聯刪除

2022-01-15 04:04:47 字數 1391 閱讀 8729

有三個表:

company

address

contact

在address和contact中建立外來鍵,外來鍵id為company的id,

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

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

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

如:create database temp

gouse temp

gocreate 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 的內容。

SqlServer2000級聯刪除

1.建立四個表 create table client c id int identity 1,1 c name nvarchar 255 unique,c pass nvarchar 255 c bit,c mail varchar 255 c qq varchar 255 primary key...

oracle 級聯刪除

1 查詢外來鍵及父表 select a.constraint name 外鍵名,a.table name 子表,b.table name 父表 from user constraints a,user constraints b where a.constraint type r and b.con...

EFCodeFirst級聯刪除

預設情況下codefirst會在外鍵約束中設定 刪除規則 為級聯 不會預設設定 更新規則 為級聯 當僅定義了導航屬性如 public virtual manager manager 而沒有顯示定義外來鍵如 public int managerid codefirst不會設定 刪除規則 為級聯 在顯示...