2014-01-20 28 views
1

我創建了一個觸發器,用於限制在sql服務器中從database刪除記錄。這是我創建trigger如何使用觸發器刪除單行

create trigger del on details 
for delete 
as begin 
rollback tran 
end 

這觸發限制從刪除記錄用戶查詢。但現在,我想要創建一個允許用戶逐個刪除記錄的trigger,而不是一次全部刪除記錄。我如何使用trigger來做到這一點。

+0

它是用於MySQL還是MSSQL? –

回答

2

嘗試使用(觸發器代碼內):

SELECT COUNT(*) FROM Deleted 

如果大於1,回滾。您還可以檢查@@ROWCOUNT > 1,如果是則回滾。

+0

您應該拋出一個錯誤而不是回滾事務,否則在對應用程序代碼進行故障診斷時很難識別此場景。 – wdosanjos

+0

好評(我只是試圖幫助防止多行更新的具體任務)。 – SAS