T-SQL语句在grant语句中不接受变量作为角色名称

我想在SQL Server 2008中创建一个存储过程来创建数据库角色并为它们授予权限,这需要一个参数,一个表示要创建的角色名称的
nvarchar
,但我不知道如何写这个。 我可以用这个创建角色
EXEC sp_addrole @RoleName
但是当我尝试使用此权限授予角色权限时
Grant select on dbo.someTable to  @RoleName
它不接受@RoleName,我该怎么做呢? 谢谢     
已邀请:
使用动态SQL生成sql语句作为文本,然后可以使用EXEC运行
declare @sql nvarchar(max)
set @sql = 'Grant select on dbo.someTable to ' + @RoleName  -- protect if required
EXEC (sql)
    

要回复问题请先登录注册