1

我将 SSIS 2012 与具有数据源和 Ole DB Sql 任务的数据流任务一起使用。数据源正在创建一组 Id { 1,2,3, etc },其中 Ole DB Sql 任务删除另一个数据库表中的记录。我在 Sql Profiler 中看到的是每个 Id 的删除命令,这是预期的,因为它正在逐条记录地工作。我最多可以获得 10,000 条记录。

有什么方法可以将数据源的输出作为一个集合使用并说:

delete from Table1 where Id in { set of Id's }
4

1 回答 1

3

你不能在 SSIS 中这样做。

事实上,您可以构建一个表达式并在 SSIS 中执行该表达式,但您不想这样做。表达式的字符数是有限的,而且在维护时它们是一团糟。

有些事情最好直接在存储过程中完成,而另一些事情在 SSIS 中更好。SSIS 的艺术是知道何时在 SSIS 或程序中执行此操作。

祝你好运!

于 2012-11-08T14:05:14.257 回答