使用EXEC将查询结果保存到变量中

时间:2019-03-28 18:59:40

标签: sql sql-server

我正在尝试验证我的SQL查询是否从数据库的列中获取单个值。通过进行查询,将其存储为变量,将查询设置为整数变量(因为我正在获取整数值)并使用'exec'来执行它,我应该能够看到该值。但是我没有。

示例中的内容是我尝试过的。一切对我来说似乎都是正确的。

DECLARE @ID2 int;                              /* Declare ID2 Variable */
SET @ID2 =1;                                   /* Set Value to 1 */
DECLARE @partsAmount int;                      /* Declare Variable that will hold value */
DECLARE @query NVARCHAR(100) ='SELECT Harness from station'+CAST(@ID2 AS NVARCHAR)+';';  /* Query works fine */
exec @partsAmount = sp_executesql @query;      /* Execute query, saving value to variable? */
select @partsAmount AS PartsAmount;            /* Display value just obtained */

SQL运行查询时,一切正常。我得到的预期结果是55。但是,当我将值保存到'@partsAmount'并尝试打印该值时,我得到的是0。这是什么问题?

0 个答案:

没有答案