sp_executesql 两种写法
写法1:
AlTER PROCEDURE TryAgain @ReturnValue int output AS declare @aa nvarchar(1000), @ForumID int, @count int, @TotalRecords int BEGIN set @ForumID =1 set @aa=N'select @ReturnValue=count(1) from TC_BBS_Topics tc_bt where ForumID='+convert(varchar(10),@ForumID) EXEC sp_executesql @aa,N'@ReturnValue int output ',@ReturnValue output END
写法2:
AlTER PROCEDURE TryAgain @ReturnValue int output AS declare @aa nvarchar(1000), @ForumID int, @count int BEGIN set @ForumID =1 ; set @aa=N'select @count=count(1) from TC_BBS_Topics tc_bt where ForumID=@id'; EXEC sp_executesql @aa,N'@id int,@count int output ',@id = @ForumID, @count=@ReturnValue output; END