資料庫點滴之SQL串聯刪除

來源:互聯網
上載者:User

功能:在刪除主表時,自動刪除副表(外鍵約束)相應內容

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

如:

 
  1. create database temp 
  2. go 
  3. use temp 
  4. go 
  5.  
  6. create table UserInfo 
  7. UserId int identity(1,1) primary key , 
  8. UserName varchar(20),  --使用者名稱 
  9. password varchar(20) not null --密碼 
  10.  
  11. create table UserDetails 
  12. id int identity(1,1) primary key, 
  13. name varchar(50) not null, --真實姓名 
  14. userId int, 
  15. foreign key (userId) references UserInfo(UserId) on delete cascade 
  16.  
  17. insert UserInfo values ('ly','jeff') 
  18. insert UserInfo values('wzq','wzqwzq') 
  19. insert UserInfo values('lg','lglg') 
  20.   
  21. insert UserDetails values('李四',1) 
  22. insert UserDetails values('王五',2) 
  23. insert UserDetails values('劉六',3) 

SQL Server支援串聯更新和刪除

Oracle只支援串聯刪除

 
  1. alter table 表名 
  2. add constraint 外鍵名 
  3. foreign key(欄位名) references 主表名(欄位名) 
  4. on delete cascade 

文法:

 
  1. Foreign Key 
  2. (column[,...n]) 
  3. references referenced_table_name[(ref_column[,...n])] 
  4. [on delete cascade] 
  5. [on update cascade] 

注釋:

  • column:列名
  • referenced_table_name:外鍵參考的主鍵表名稱
  • ref_name:外鍵要參考的表的主鍵列
  • on delete:刪除級聯
  • on update:更新級聯

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.