为什么出现以下错误?似乎SQL服务器无法识别 - 动态sql上的运算符
DECLARE @value INT;
SELECT @value = 10;
EXEC ('SELECT ' + @value -1 );
答案 0 :(得分:2)
不。您应该在运行之前设置语句。我建议:
DECLARE @value INT;
DECLARE @sql NVARCHAR(MAX);
SET @SQL = 'SELECT @value - 1';
SELECT @value = 10;
EXEC sp_executesql @sql, N'@value int', @value = @value ;
这使用参数,因此运行查询是一种更明智的方法。
答案 1 :(得分:0)
这有效:
DECLARE @value INT;
SELECT @value = 10;
EXEC ('SELECT ' + @value +' -1 ');