在 SSIS 中执行 SQL 任务中将变量作为参数传递
执行动态 SQL 操作通常需要将变量作为参数传递,以使查询更加通用。在 SSIS 包中,当您需要将外部值传递给执行 SQL 任务中的临时表创建查询时,您会遇到这样的场景。
问题:
考虑一个 SSIS 包,其中平面文件中的数据被插入到表中。在此包中,执行 SQL 任务用于创建一个名为 ##temptable 的临时表,其中包含特定列。接下来,数据将根据某些过滤条件插入到##temptable中。要求是使用 SSIS 包中创建的变量动态传递这些过滤条件。
解决方案:
要实现动态参数传递,请按如下方式配置执行 SQL 任务:
CREATE PROCEDURE [dbo].[usp_temptable] ( @date DATETIME, @portfolioId INT, @stype NVARCHAR(50) ) AS BEGIN INSERT INTO [tempdb].dbo.##temptable (date, companyname, price, PortfolioId, stype) SELECT date, companyname, price, PortfolioId, stype FROM ProgressNAV WHERE (Date = @date) AND (PortfolioId = @portfolioId) AND (stype in (@stype)) ORDER BY CompanyName END
以上是如何将 SSIS 变量作为参数传递给动态 SQL 的执行 SQL 任务?的详细内容。更多信息请关注PHP中文网其他相关文章!