获取结果不是这么写的
可以用下面这种写法:
DECLARE @T INT;
DECLARE @Sql NVARCHAR(200);
set @Sql = 'SELECT @T = START FROM ' + @TABLENAME + ' WHERE ...';
EXEC SP_EXECUTESQL @Sql, N'@T INT OUTPUT', @T OUTPUT;
在各关键词之间没有加空格分隔开 SELECT,FROM, WHERE前后都需要有空格
EXEC ('SELECT '+@T+'=START FROM '+@TABLENAME+' WHERE....)
为什么要加“‘’”,在数据库中‘’是字符型的,去掉‘’和+
@T 是一个变量,start是一个列。