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
原文地址:https://www.cnblogs.com/fuge/p/3886699.html