关于网友提出的“ exec执行拼接的sql语句报错”问题疑问,本网通过在网上对“ exec执行拼接的sql语句报错”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: exec执行拼接的sql语句报错
描述: declare @fieldCount int,
@OldTalbeName nvarchar(100)
select @OldTalbeName= '3D1147DE-0559-45B7-8B83-6D51620FBB6E'
exec( 'select'+ @fieldCount+' = COUNT(*) from MyDataCentre.[dbo].['+@OldTalbeName+'] where Field243 is not null and DATALENGTH(field243)>0 and ClientID = 6425')
print @fieldCount
这样写为什么会报错?提示=号附近语法错误
解决方案1: 这个语句没办法执行的.
解决方案2:DECLARE @fieldCount INT ,
@OldTalbeName NVARCHAR(100),
@sqlsentence NVARCHAR(MAX)
SELECT @OldTalbeName = '3D1147DE-0559-45B7-8B83-6D51620FBB6E'
SET @sqlsentence = 'select @fieldCount+ COUNT(*) from MyDataCentre.[dbo].['+@OldTalbeName+'] where Field243 is not null and DATALENGTH(field243)>0 and ClientID = 6425'
PRINT(@sqlsentence)
EXEC sp_executesql @sqlsentence, N'@fieldCount int out', @fieldCount out
PRINT(@fieldCount)
以上介绍了“ exec执行拼接的sql语句报错”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/4377994.html