每个循环的SSIS

时间:2013-12-13 22:08:22

标签: sql-server ssis

我有一个简单的任务,但不知何故被它搞砸了。

通过SSIS我想在我的数据库中清空3个表。我正在使用SQL Server 2008 R2。

我想在变量中创建一个FEL和somwehere,将两个表的名称放在一起。 然后循环将从这两个表中删除记录。

表格如下:表1表2和表3。

请你详细一步给我详细说明。请不要将链接粘贴到其他文章,因为它可能更令人困惑。

非常感谢!

1 个答案:

答案 0 :(得分:2)

  1. 创建一个名为TableNames Object
  2. 类型的变量
  3. 创建一个名为TableName的变量,其类型为 String
  4. 创建一个名为Query的变量,其类型为 String
    • EvaluateAsExpression 属性设置为True
    • 表达式属性设置为"DELETE FROM " + @[User::TableName]
  5. 添加执行Sql任务,然后双击打开执行Sql任务编辑器
    • 常规设置下进行以下更改
      • ResultSet 属性设置为Full Result Set
      • SQLStatement 属性设置为 select * from ( select 'Table1' as t union select 'Table2' as t union select 'Table3' as t ) tables
    • 结果集设置下进行以下更改
      • 点击添加按钮,将结果名称设置为0,将变量名称设置为User::TableNames
  6. 添加 Foreach循环容器,然后双击打开 Foreach循环编辑器
    • 集合设置下进行以下更改
      • 枚举器属性设置为Foreach ADO Enumerator
      • ADO对象源变量设置为User::TableNames
    • 变量映射设置下进行以下更改
      • 变量设置为User::TableName,将索引设置为0
  7. Foreach循环中添加执行Sql任务,然后双击打开执行Sql任务编辑器
    • 常规设置下进行以下更改
      • SQLSourceType 属性设置为Variable
      • SourceVariable 设置为User::Query