使用外键删除具有存储过程的寄存器

时间:2015-04-21 07:41:20

标签: sql sql-server stored-procedures cascading-deletes

我是SQL Server新手,我编写了几个存储过程,我有下一个问题。例如,我有2个表(角色和用户),当我尝试删除一个角色时,逻辑上该过程显示错误(547),因为“用户表”上有一个外键。所以,我需要的是找到一种删除该角色的方法。如果有必要删除其角色即将删除的所有用户,或者是否可以为属于我想要删除的角色的用户重新分配新角色。

我希望你能理解我想要做的或多或少的事情。我搜索一个简单的例子如何做到这一点。

谢谢!

1 个答案:

答案 0 :(得分:0)

删除具有角色5的用户:

Delete From Users Where RoleID = 5

或更新:

Update Users Set RoleID = 6 Where RoleID = 5

然后删除角色本身:

Delete From Role Where ID = 5