我正在尝试用一个值填充一个 sql 变量。当代码如下时它可以工作:
declare @num_records int
set @num_records = ( select distinct count(*) as num_recs
from dbo.tbllookup )
print @num_records
例如,为了让我的查询更简单,但它是一个复杂的查询,我想把它放在变量中,因为我必须在其他地方重用查询的一部分。所以我尝试了这个,但它不起作用。错误提示“关键字 'exec' 附近的语法不正确”。
declare @num_records int
declare @sqlstr varchar(200)
set @sqlstr = '( select distinct count(*) as num_recs
from dbo.tbllookup )'
set @num_records = exec(@sqlstr)
print @num_records
我是一个sql查询新手。所以只是想了解这个概念并想知道我在这里做错了什么。
谢谢。