I want to create a SQL Server 2012 Query which inserts a constant list of permission names, e.g. “ViewUsersPermission”, “ModifyUsersPermission” into the table RolePermissions.
This table has two columns: A “RoleID” which is a foreign key to the Roles table, and a varchar column “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')
I am looking for a better solution. I want to specify a list of permissions types like:
SELECT FROM 'ViewUsersPermission', 'ModifyUsersPermission', 'ViewRolesPermission'
instead of using the UNION ALL construct.
Assuming you are on at least 2008