我想创建一个 SQL Server 2012 查询,它将权限名称的常量列表(例如“ViewUsersPermission”、“ModifyUsersPermission”)插入到表 RolePermissions 中。
该表有两列:“RoleID”是 Roles 表的外键,以及 varchar 列“PermissionTypeName”。
INSERT INTO [dbo].[RolePermissions] ([PermissionTypeName], [RoleID])
SELECT 'ViewUsersPermission' AS [PermissionTypeName]
UNION ALL
SELECT 'ModifyUsersPermission' AS [PermissionTypeName]
UNION ALL
SELECT 'ViewRolesPermission' AS [PermissionTypeName]
INNER JOIN (SELECT [RoleID] FROM [dbo].[Roles]
WHERE [Name] = 'Administrator')
我正在寻找更好的解决方案。我想指定权限类型列表,例如:
SELECT FROM 'ViewUsersPermission', 'ModifyUsersPermission', 'ViewRolesPermission'
而不是使用UNION ALL
构造。