The dynamic SQL statements with multiple output parameters

For single output parameter :

DECLARE @PARAM_1 INT
DECLARE @PARAM_2 INT

DECLARE @STRQUERY NVARCHAR(MAX)
DECLARE @OUTPUTPARAMETER VARCHAR(2000)

SET @OUTPUTPARAMETER = N’@PARAM_1 INT OUTPUT’
SET @STRQUERY = ‘SELECT @PARAM_1 = TBL_FIELD_1 FROM TABLE_NAME WHERE TBL_FIELD_2 =’ + CAST(@PARAM_2 AS VARCHAR(20)) + ”

EXEC sp_executesql @STRQUERY,@OUTPUTPARAMETER,@PARAM_1 OUTPUT

For multiple output parameter :

DECLARE @PARAM_1 INT
DECLARE @PARAM_2 DECIMAL(18,3)
DECLARE @PARAM_3 VARCHAR(20)
DECLARE @PARAM_4 INT

DECLARE @STRQUERY NVARCHAR(MAX)
DECLARE @OUTPUTPARAMETER VARCHAR(2000)

SET @OUTPUTPARAMETER = N’@PARAM_1 INT OUTPUT,@PARAM_2 DECIMAL(18,3) OUTPUT,@PARAM_3 VARCHAR(20) OUTPUT’

SET @STRQUERY = ‘SELECT @PARAM_1 = TBL_FIELD_1,@PARAM_2 = TBL_FIELD_2,@PARAM_3 = TBL_FIELD_3 FROM TABLE_NAME WHERE TBL_FIELD_4 =’ + CAST(@PARAM_4 AS VARCHAR(20)) + ”

EXECUTE sp_executesql @STRQUERY,@OUTPUTPARAMETER,@PARAM_1 OUTPUT,@PARAM_2 OUTPUT,@PARAM_3 OUTPUT

Enjoy Coding…

Leave a Reply