如何使用SSIS将multipe变量循环到一个目标表中

时间:2018-11-10 03:21:12

标签: sql ssis

我有三个变量

@Emp = 'Select EmpName from Employee',
@Department = 'Select DeptName from Department',
@Customer = 'Select Custname from Customer'

我有目标表

输出:

  ID tbl_statement
  1   Select EmpName from Employee
  2   Select DeptName from Department
  3   Select Custname from Customer

enter image description here

如何使用SSIS将这三个变量循环到目标表中

2 个答案:

答案 0 :(得分:2)

我建议您使用执行SQL任务存储此数据。

给出如下目标表

CREATE TABLE dbo.SO_53235748
(
    ID int identity(1,1) NOT NULL
,   tbl_statement nvarchar(max) NOT NULL
,   AsOfDate datetime NOT NULL CONSTRAINT DF_dbo_SO_53235748 DEFAULT (GETDATE())
);

我们将使用OLE DB连接并像这样对查询进行参数化

INSERT INTO dbo.SO_53235748(tbl_statement)
SELECT D.tbl_statement 
FROM 
(
    VALUES(?), (?), (?)
) D(tbl_statement);

?是OLE DB连接管理器语法中的占位符。在前面的查询中,它需要3个参数。如果您有更多或更少的参数,则需要在第五行中添加/删除元素。

在“参数”标签中,我们将根据顺序位置(从零开始)将变量映射到参数中

Parameter mapping tab

答案 1 :(得分:-1)

请尝试在SSis的“每个循环”任务中使用“每个变量”循环

谢谢