declare @var varchar(max),@course varchar(max)
set @var='ABC'
set @Query=''
set @Query='
select @course=PARAM from TABLE where PARAM='''+@var+''''
print @Query
exec (@Query)
由于上述查询返回错误为
必须声明标量变量“@course”
这里的查询是我现在正在遵循的使查询成功的替代方法。
declare @var varchar(max),@course varchar(max),@Query varchar(max)
Create table #temp(param1 varchar(max))
set @var='ABC'
set @Query=''
set @Query='insert #temp(param1)
select PARAM from TABLE where PARAM='''+@var+''''
print @Query
exec (@Query)
select @course=param1 from #temp
drop table #temp
除了我上面提到的解决方案之外,还有其他更好的选择吗?