昨天写存储过程,发现拼凑SQL要输出多个参数,但我之前一直没有拼凑SQL在存储里,百度了下,其实很简单,就记录下:
单个或多个参数输出,不是拼凑的SQL直接可以这样输出:
SELECT @FStartTime = CONVERT(VARCHAR(10),FStartTime,120), @FEndTime = FEndTime FROM T_RebateRule WHERE FID = @FRebateRuleID
单个或多个参数输出,拼凑的SQL可以采用这样方式:
declare @strSql nvarchar(4000),@sum varchar(20),@sum1 varchar(20) SET @strSql ='SELECT top 1 @sum=sum(fcounts),@sum1=sum(FCounts) from t_orderdetail where FProductModel in('''+@FModels+''')' EXEC sp_executesql @strSql,N'@sum varchar(20) OUTPUT,@sum1 varchar(20) OUTPUT',@sum OUTPUT,@sum1 OUTPUT print @sum print @sum1
记录下,以防我下次需要或给需要的同学!