How to get sp_executesql result into a variable?

后端 未结 10 1438
刺人心
刺人心 2020-11-22 16:06

I have a piece of dynamic SQL I need to execute, I then need to store the result into a variable.

I know I can use sp_executesql but can\'t find clear e

10条回答
  •  旧时难觅i
    2020-11-22 16:44

    If you want to return more than 1 value use this:

    DECLARE @sqlstatement2      NVARCHAR(MAX);
    DECLARE @retText            NVARCHAR(MAX);  
    DECLARE @ParmDefinition     NVARCHAR(MAX);
    DECLARE @retIndex           INT = 0;
    
    SELECT @sqlstatement = 'SELECT @retIndexOUT=column1 @retTextOUT=column2 FROM XXX WHERE bla bla';
    
    SET @ParmDefinition = N'@retIndexOUT INT OUTPUT, @retTextOUT NVARCHAR(MAX) OUTPUT';
    
    exec sp_executesql @sqlstatement, @ParmDefinition, @retIndexOUT=@retIndex OUTPUT, @retTextOUT=@retText OUTPUT;
    

    returned values are in @retIndex and @retText

提交回复
热议问题