我有三个变量
@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
如何使用SSIS将这三个变量循环到目标表中
答案 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个参数。如果您有更多或更少的参数,则需要在第五行中添加/删除元素。
在“参数”标签中,我们将根据顺序位置(从零开始)将变量映射到参数中
答案 1 :(得分:-1)
请尝试在SSis的“每个循环”任务中使用“每个变量”循环
谢谢