自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

SQLServer級聯(lián)刪除的實現(xiàn)

數(shù)據(jù)庫 SQL Server
如果我們想要在SQLServer數(shù)據(jù)庫中實現(xiàn)級聯(lián)刪除,應(yīng)該怎么做呢?下面為您介紹一個SQLServer級聯(lián)刪除的實現(xiàn)方法,希望對您有所幫助。

SQLServer 2000與Oracle 8i相比,SQLServer級聯(lián)刪除有太多的限制,下面就為您介紹SQLServer級聯(lián)刪除的實現(xiàn)方法,供您參考。

表內(nèi)自關(guān)聯(lián)不支持級聯(lián)刪除和級聯(lián)更新
一個表內(nèi)在有多個列同時關(guān)聯(lián)于另一個表時,不支持多個級聯(lián)刪除
還有什么循環(huán)級聯(lián)刪除限制,等等
.......
一大堆限制,如果要遷移Oracle到SqlServer麻煩多多,特別對于用于構(gòu)造樹型結(jié)構(gòu)的表內(nèi)自關(guān)聯(lián)(比如部門表)的級聯(lián)刪除特別討厭

考慮來考慮去,對于SqlServer不能支持的諸多SQLServer級聯(lián)刪除只有采用最原始的方法,徹底不用外鍵關(guān)聯(lián),而是用觸發(fā)器來解決

以下是經(jīng)過驗證的觸發(fā)器實現(xiàn)范例(自關(guān)聯(lián)例子)

放棄外鍵關(guān)聯(lián)后所有的完整性檢查都要通過觸發(fā)器實現(xiàn)

--DELETE 級聯(lián)刪除,先刪除,再刪除所有級聯(lián)的記錄,采用遞歸觸發(fā)器,當(dāng)然要求數(shù)據(jù)庫支持遞歸觸發(fā)器功能開啟(數(shù)據(jù)庫屬性設(shè)置中開啟他),不過SqlServer只支持32級的遞歸啊

  1. IF EXISTS (SELECT NAME FROM SYSOBJECTS  
  2.       WHERE NAME = 'DEL_DOCUMENTTYPE_001' AND TYPE = 'TR')  
  3.    DROP TRIGGER DEL_DOCUMENTTYPE_001  
  4. GO  
  5.  
  6. CREATE TRIGGER DEL_DOCUMENTTYPE_001  
  7. ON dbo.DOCUMENTTYPE  
  8. FOR DELETE   
  9. AS   
  10. IF (SELECT COUNT(*) FROM DELETED) > 0  
  11.    DELETE FROM dbo.DOCUMENTTYPE WHERE UPNO IN (SELECT NO FROM DELETED)  
  12. GO     
  13.  

 

 

 

 

 

【編輯推薦】

sqlserver sa用戶密碼問題集錦

sqlserver分發(fā)服務(wù)器的設(shè)置

SqlServer唯一約束的創(chuàng)建

sqlserver分頁存儲過程實例

SqlServer唯一約束的刪除方法

責(zé)任編輯:段燃 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2010-11-10 11:47:35

SQL Server級

2010-11-10 11:51:04

SQL SERVER級

2009-06-17 10:47:36

Hibernate級聯(lián)級聯(lián)刪除

2010-09-02 09:45:07

SQL刪除

2009-09-15 14:52:15

linq級聯(lián)刪除

2010-10-22 17:38:02

SQL Server級

2011-07-19 09:18:50

Oracle級聯(lián)刪除

2010-10-19 16:34:10

SqlServer唯一

2010-04-23 15:44:29

Oracle 外鍵

2011-09-13 10:25:05

數(shù)據(jù)庫點滴

2010-09-01 16:40:00

SQL刪除觸發(fā)器

2011-03-22 12:59:18

SQLOracle外鍵約束

2010-07-15 10:48:48

SQL Server2

2010-09-01 16:17:40

SQL刪除日志

2023-05-09 07:38:57

jQueryAjax代碼

2010-07-08 14:53:38

SQLServer實現(xiàn)

2010-11-23 14:40:04

MySQL多表刪除

2010-10-15 15:02:37

Mysql多表刪除

2024-02-01 09:06:44

Company?Employee場景

2024-04-30 11:02:15

二級聯(lián)動鴻蒙開源
點贊
收藏

51CTO技術(shù)棧公眾號