declare @sql varchar(8000)
set @sql = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.................'
EXEC SP_EXECUTESQL @sql,N'@total INT OUT',@total OUT如果超过@sql 超过8000 用下面写法,仍然不行,不能用 + 号,怎么办?
EXEC SP_EXECUTESQL @SQL1 + @SQL2 + SQL3, N'@total INT OUT',@total OUT -- 错误
事先说明一下,必须得用 SP_EXECUTESQL ,不能用EXEC(@SQL),因为sql语句中有一个输出参数,要返回一个求和值.
set @sql = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.................'
EXEC SP_EXECUTESQL @sql,N'@total INT OUT',@total OUT如果超过@sql 超过8000 用下面写法,仍然不行,不能用 + 号,怎么办?
EXEC SP_EXECUTESQL @SQL1 + @SQL2 + SQL3, N'@total INT OUT',@total OUT -- 错误
事先说明一下,必须得用 SP_EXECUTESQL ,不能用EXEC(@SQL),因为sql语句中有一个输出参数,要返回一个求和值.
SQL2000 Ntext ,Text
则可以考虑综合使用其他方法,
比如用临时表存储一些中间结果,
或者用游标(不推荐)等等。