日期:2014-05-17  浏览次数:20545 次

动态执行SP的问题
DECLARE @DBInstance NVARCHAR(100)
DECLARE @SQL NVARCHAR(500)
DECLARE @i NVARCHAR(500)
DECLARE @Fid NVARCHAR(500)
DECLARE @j nvarchar(10)

SET @Fid='1'
SET @i='10'
set @j='1'

SET @DBInstance='t_temp'
SET @SQL=@DBInstance+' '+@i +',@Fid OUTPUT'
EXEC (@SQL)

提示“必须声明标量变量 "@Fid"。”


------解决方案--------------------
SET @SQL=@DBInstance+' '+@i +','''+@Fid+''' OUTPUT'
------解决方案--------------------
SET @SQL=@DBInstance+' '+@i +',@Fid OUTPUT'
EXEC sp_executesql @SQL,N'@Fid NVARCHAR(500) OUTPUT',@Fid OUTPUT

select @Fid

------解决方案--------------------
输出一下你拼接出来的@sql内容