sp_executesql Safe statements

Last updated:

Warning: Review and test in a non-production environment before running.

Back to results

-- Adapted from demo scripts by Kimberly L. Tripp, SQLskills – https://www.sqlskills.com/blogs/kimberly/

DECLARE @ExecStr    NVARCHAR (4000);
SELECT @ExecStr =
    N'SELECT [m].* 
    FROM [dbo].[member] AS [m] 
    WHERE [m].[member_no] = @mno';
EXEC [sp_executesql] @ExecStr, N'@mno INT', 12;
GO

DECLARE @ExecStr    NVARCHAR (4000);
SELECT @ExecStr =
    N'SELECT [m].* 
    FROM [dbo].[member] AS [m] 
    WHERE [m].[member_no] = @mno';
EXEC [sp_executesql] @ExecStr, N'@mno INT', 76896;
GO

EXEC [QuickCheckOnCache] '%mno%';
GO

 

(@mno INT)SELECT [m].*    FROM [dbo].[member] AS [m]    WHERE [m].[member_no] = @mno

3 statements run and we have only 1 cache for the 3.