我有此SQL代码
""
我得到了错误:
必须声明标量变量sql @ColumnF
我不确定如何解决。有什么建议吗?
答案 0 :(得分:1)
您需要这样称呼:
DECLARE @Query NVARCHAR(MAX),
@ColumnF VARCHAR(100),
@ColumnLoop INT = 3;
SET @Query = N'
SELECT @ColumnF=[F'+CAST(@ColumnLoop AS VARCHAR(255))+']
FROM [Prestage].[SurveyBulkCrosstab]
WHERE ExcelRowNumber = 1';
EXEC sp_executesql @Query,
N'@ColumnLoop INT, @ColumnF VARCHAR(100) OUTPUT',
@ColumnLoop=@ColumnLoop, @ColumnF=@ColumnF OUTPUT;
也就是说,您需要将变量传递到sp_executesql
中。