私は変数を使用してカウントを格納しており、ストアド プロシージャを何度も起動しようとしており、毎回数を繰り返しています。ただし、使用する必要がある構文に問題があります。これが私がこれまでに持っているものです:
declare @count INT
declare @total INT
declare @p1 nvarchar(255)
set @count = 1
set @total = 50
if @count <= @total
begin
set @p1=NULL
exec USP_DATAFORM_ADDNEW_b9c5ae3e_1e40_4e33_9682_18fb0bb40ff2 @ID=@p1 output,@ROLENAME='Load Test Role ' + @count,@DESCRIPTION=N'Role used for automated load test.',@COPYUSERS=0,@CHANGEAGENTID='023C133B-D753-41E9-BCC6-1E33A4ACD600',@SYSTEMROLEID=N'3a33d7a7-c3b3-4a34-a4d7-99ef1af78fb8'
select @p1
set @count = @count + 1
end
問題はその@ROLENAME='Load Test Role ' + @count
部分です。使用する正しい構文は何ですか? ここで動的 SQL を使用し、すべてを exec_sql ステートメントで定義する必要がありますか?
参考までに、私は SQL Server 2008 R2 を使用しています。私が得るエラーはですIncorrect syntax near '+'
。