I am missing something in my SQL query, could please someone advise how to do correct it? This is my SQL:
declare @numItems int;
declare @value1 int;
declare @value2 int;
declare @currentValue int;
declare @counter int;
declare @qry nvarchar(max)
set @value1 = 5;
set @value2 = 10;
set @numItems = 2
set @counter=0
WHILE (@counter < @numItems)
BEGIN
set @qry = 'set @currentValue = @value' + cast(@counter+1 as nvarchar(max)) + ';'
exec sp_executesql @qry, N'@currentValue int OUTPUT', @currentValue OUTPUT
print @currentValue
set @counter = @counter + 1;
END
What I want is that @currentValue parameter gets values of @value1 and @value2 and prints them. I'm not sure how to correctly declare parameters in the exec statement. I am using SQL Server 2005. Thanks for any help.
declare @numItems int;
declare @value1 int;
declare @value2 int;
declare @currentValue int;
declare @counter int;
declare @qry nvarchar(max)
set @value1 = 5;
set @value2 = 10;
set @numItems = 2
set @counter=0
WHILE (@counter < @numItems)
BEGIN
set @qry = 'set @currentValue = @value' + cast(@counter+1 as nvarchar(max)) + ';'
exec sp_executesql @qry,
N'@value1 int, @value2 int, @currentValue int OUTPUT',
@value1=@value1,@value2=@value2, @currentValue = @currentValue OUTPUT
print @currentValue
set @counter = @counter + 1;
END