2

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

4

3 回答 3

4

如果没有看到您当前的代码,很难知道这是否合适,但我会看看

  1. MERGE语句(允许为“匹配时”、“目标不匹配时”、“源不匹配时”等不同情况指定操作)和
  2. OUTPUT子句(允许您捕获新更新的记录以进行处理)。
于 2010-08-04T14:28:31.083 回答
2

希望由此产生的一些想法会有所帮助。如果您仍然需要帮助避免光标,我们需要查看您在光标中进行的处理的更好示例。

http://wiki.lessthandot.com/index.php/Cursors_and_How_to_Avoid_Them

于 2010-08-04T14:45:11.807 回答
0

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

于 2010-08-04T14:28:32.803 回答