以下代码有效:
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
但是,我想为插入字符串使用变量。我该怎么做?
这是我试过的迭代之一,没有运气......
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
感谢您的帮助!
*这不重复。提供的链接不回答如何使用insert子句的变量,只回答select。