DECLARE @SQLCheckSourceData Nvarchar(4000) --注意改类型
DECLARE @TableName Nvarchar(512)
DECLARE @num int SET @TableName='Categories'SELECT @SQLCheckSourceData = 'SELECT @num=COUNT(*) FROM '+@TableName
EXEC sp_executesql @SQLCheckSourceData),N'@num int out',@num out
select 结果=@num
DECLARE @TableName Nvarchar(512)
DECLARE @num int SET @TableName='Categories'SELECT @SQLCheckSourceData = 'SELECT @num=COUNT(*) FROM '+@TableName
EXEC sp_executesql @SQLCheckSourceData),N'@num int out',@num out
select 结果=@num
= 'SELECT '+ convert(char,@num) +'= COUNT(*) FROM '+@TableName
由于有数字,它会自动转换字符类型,我也碰到过,转化成字符串加到整个string里面,因为没有引号,还是可以作为数字进行查询的