另一个选择是创建两个专用的存储过程,这些存储过程将根据需要执行这些删除步骤
CREATE PROCEDURE dbo.DeleteUser @UserID VARCHAr(50)AS BEGIN DELETE FROM dbo.Comments WHERe Author = @UserID DELETe FROM dbo.Posts WHERe Author = @UserID DELETe FROM dbo.User WHERe UserID = @UserIDEND
对于第二条规则:
CREATE PROCEDURE dbo.DeletePost @PostID INTAS BEGIN DELETE FROM dbo.Comments WHERe PostID = @PostID DELETe FROM dbo.Posts WHERe ID = @PostIDEND
在这种情况下,您可以完全控制实际发生的事情,级联删除不会有意外的意外,也不需要使用触发器。



