3

SQL Server 2008でストアドプロシージャを作成して、データベースロールを作成し、それらにアクセス許可を付与したいと思いますnvarchar。これは、作成されるロール名を表す1つのパラメーターを取りますが、これを作成する方法がわかりません。

これで役割を作成できます

EXEC sp_addrole @RoleName

しかし、これで役割に権限を付与しようとすると

Grant select on dbo.someTable to  @RoleName

@RoleNameを受け入れません、どうすればこれを行うことができますか?

ありがとう

4

1 に答える 1

7

動的SQLを使用して、SQLステートメントをテキストとして生成します。テキストはEXECを使用して実行できます。

declare @sql nvarchar(max)
set @sql = 'Grant select on dbo.someTable to ' + @RoleName  -- protect if required
EXEC (sql)
于 2011-01-27T11:57:58.453 に答える