我正在尝试验证我的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。这是什么问题?