the following code works:
DECLARE @Data TABLE ( EMPID INT)
DECLARE @D DATE = DATEADD(d, -1, GETDATE())
DECLARE @SQL NVARCHAR(500)
DECLARE @Param NVARCHAR(500)
SET @SQL = 'SELECT TOP 10 EMPID FROM udf_Test( @1, @2 ) la'
SET @Param = '@1 VARCHAR(10), @2 VARCHAR(10)'
INSERT @Data ( RetailerID )
EXECUTE sp_executesql @SQL, @Param, @1=@D, @2=@D
SELECT * FROM @Data
But, I want to use variables for the insert string. How do I do that?
This is one of the iterations I tried with no luck...
DECLARE @Data TABLE ( EMPID INT)
DECLARE @D DATE = DATEADD(d, -1, GETDATE())
DECLARE @Insert NVARCHAR(500)
DECLARE @SQL NVARCHAR(500)
DECLARE @Param NVARCHAR(500)
SET @Insert = 'INSERT @Data( EMPID ) '
SET @SQL = 'SELECT TOP 10 EMPID FROM udf_Test( @1, @2 ) la '
SET @Param = '@1 VARCHAR(10), @2 VARCHAR(10)'
EXECUTE sp_executesql @Insert + @SQL, @Param, @1=@D, @2=@D
SELECT * FROM @Data
Thank you for helping!
*This is not a duplicate. The link provided does not answer how to use a variable for the insert clause, only the select.