【发布时间】:2014-06-26 10:15:41
【问题描述】:
今天有一个一般性问题。我试图将结果存储在一个变量中,但它不起作用。我不是想做任何花哨的事情,而是做一个简单的任务。见下文:
declare @prizeid bigint;
declare @today datetime;
declare @dayOfMonth int;
declare @year int;
declare @month int;
select @today = getdate();
select @dayOfMonth = Day(@today);
select @year = Year(@today);
select @month = Month(@today);
if @month = 1
begin
select @month = 12
select @year = @year - 1
end
else select @month = @month - 1;
declare @sqlQuery varchar(250);
declare @quantityForSnapShot bigint;
declare @filename varchar(25);
set @prizeid=31
set @filename = 'Prizes_' + REPLACE(STR(@month, 2, 0), ' ', '0') + '_' + ltrim(str(@year));
select @sqlQuery = 'select Quantity from ' + @filename +
' where PrizeID=' + convert(varchar,@prizeid)
EXEC @quantityForSnapShot=@sqlQuery
print @quantityForSnapShot
我真正想要的只是检索 Quantity 并将其存储在 var @quantityForSnapShot 中。
:-)
【问题讨论】:
-
查看这个答案。这就是你想要的Getting result of dynamic SQL into a variable
标签: sql sql-server stored-procedures