我正在使用SSIS 2012和一个数据流任务,该任务具有一个数据源和一个Ole DB Sql任务。数据源正在使用Ole DB Sql任务删除另一个数据库表中的记录来创建一组Id{ 1,2,3等}。我在Sql Profiler中看到的是每个Id的delete命令,这是预期的,因为它是在逐条记录的基础上工作。我最多能找到10,000条记录。
我有没有办法将数据源的输出作为一个集合来处理,并这样说:
delete from Table1 where Id in { set of Id's }发布于 2012-11-08 22:05:14
您不能在SSIS中这样做。
实际上,您可以在SSIS中构建一个表达式并执行该表达式,但您不希望这样做。表达式的字符数有限,而且在维护时会变得一团糟。
有些事情最好直接在存储过程中完成,而另一些事情在SSIS中做得更好。SSIS的技巧是知道何时在SSIS中或在过程中执行此操作。
祝好运!
https://stackoverflow.com/questions/13290285
复制相似问题