2010-08-04 43 views
2

我一直在创建使用SSIS导入数据到临时表的数据导入,然后使用存储过程,用光标逐个处理数据并将信息插入到3个不同的表中。前两个表格中的插入操作很复杂,因为如果有一个已经存在的相同数据的记录,则不会创建该记录。无论在前2个表中是否插入记录,记录或匹配记录的ID都会返回到第3个表中使用。有使用光标的替代方法吗?在SQL Server 2008中使用游标有什么替代方法?

回答

4

没有看到你当前的代码是很难知道这是否是合适的,但我想看看

  1. MERGE声明(允许“时匹配的”不同的情况下,必须指定动作,“当不匹配目标“,”当不匹配源“)和
  2. OUTPUT子句(允许您捕获新更新的记录进行处理)。
+0

我会试试MERGE。我从来没有用过它。 – norlando 2010-08-04 16:55:11

0

这听起来像是用表变量和while循环(多人已经测试和确认,几乎总是比游标更高性能)替换游标的完美候选人。