2016-06-18 32 views
0

您好,我們最近學會了如何創建觸發器,並且我必須對用戶進行刪除操作,這也從參考表中刪除了所述用戶,但我不知道如何使它在SQL服務器(我們不得不選擇一個數據庫管理系統,我選擇了SQL服務器),但我最近得知你不能在動作之前做觸發器,所以我不知道如何解決這個問題,我有類似的東西如何在SQL Server中創建從引用表中刪除的觸發器

create trigger myTrigger 
on User 
for delete 
AS 
delete from GroupParticipants where participantId in (select deleted.codUser from Deleted) 
delete from (...) where column in (select deleted.codUser from Deleted) 
GO 

然而,因爲這將刪除後會說,刪除從未發生是由於參照完整性,我該如何解決這個看似簡單的問題嗎?

我的表是這樣的:

用戶(codUser,...)

GroupParticipant(的groupId,codUser)

OtherTable(codUser)

和其他無關表格

+0

您看了[而不是刪除](https://technet.microsoft.com/zh-cn/ -us/library/ms191208%28v = sql.105%29.aspx?f = 255&MSPPError = -2147217396)trigger? – HABO

回答

1

您可能想要重新執行約束以使用級聯刪除(這樣,您將不需要觸發器):請參閱:https://stackoverflow.com/a/6260736/3394342

+0

我不明白,如果刪除後發生這種情況我將如何能夠刪除第一個地方的用戶如果sql管理將給我一個完整性錯誤之前,甚至觸發觸發器 –

+1

最初錯誤讀取。編輯答案... – ffa

相關問題