ppo*_*ani 4 sql-server cascade foreign-keys
我有一个Friends与以下列调用的关系,
User1ID
User2ID
Since
Run Code Online (Sandbox Code Playgroud)
User1ID并且User2ID是关系中的一组主键.它们也是引用表Users的外键.现在我想添加一个ON CASCADE DELETE,这样当删除表Users中的用户时,也会删除表中相应的行Friends.但是,MS SQL Server不允许我添加该约束.
有关如何修改表格的任何想法,以完成该任务?
你不能有多个或循环的级联路径:你想做什么变得模棱两可(比如一个CASCADE NULL和另一个CASCADE DELETE)
我使用存储过程从Friends事务中的第一个删除然后从Users(在TRY/CATCH当然处理错误)
BEGIN TRAN
DELETE Friends WHERE User1ID = @UserID;
DELETE Friends WHERE User2ID = @UserID;
DELETE Users WHERE UserID = @UserID;
COMMIT TRAN
Run Code Online (Sandbox Code Playgroud)