【发布时间】:2015-04-30 19:47:55
【问题描述】:
我正在使用 SQL Server 2012,我的主要目标是以编程方式 DROP ROLE,但除非角色为空,否则无法完成,那么如何使用 T-SQL 来首先删除角色的所有成员?
-
我可以找到一个角色的所有成员:
SELECT members.[name] FROM sys.database_role_members AS rolemembers JOIN sys.database_principals AS roles ON roles.[principal_id] = rolemembers.[role_principal_id] JOIN sys.database_principals AS members ON members.[principal_id] = rolemembers.[member_principal_id] WHERE roles.[name]=@rolename -
可以使用以下方式删除成员:
ALTER ROLE role_name DROP MEMBER user_name
如何将这两者结合起来?还是有其他方法可以做我想做的事情?
(另外,我不确定这是否重要,但我将在 Entity Framework 6 迁移中使用它)
【问题讨论】:
标签: sql-server tsql sql-server-2012