2011-06-01 91 views
2

我尝试this组表复制到其他组具有相同方案的来源。调用每行存储过程的最佳方式是什么?

我写存储过程,在SQL中,从表A和拷贝从乙-G的所有表接收ID。 现在我想让TalbeA的每一行都调用存储过程。我可以用CURSORWHILE这个,但我读了,不建议CURSOR并且,虽然比CURSOR慢。 有没有其他方法或在这种情况下CURSOR \ WHILE是解决方案?

谢谢

回答

2

CURSOR/WHILE是在这种情况下罚款 - 没有更好的方式来调用每行一个存储过程。但是,如果执行此操作可能会对系统产生影响,请在运行时小心。

有一个更好的选择,如果你可以把它编写了 - 这是在表A和下面的一堆SQL语句执行的记录所有的“复制”,完全避免游标。总结这个建议 - 基于集合而不是基于行。

0

除非有一个在其在存储过程执行这个复制一个显著的优势,你会更好重新写在你当前的脚本复制直列。

如果你想知道如何实现这一点,如果你不得不维护外键,使用身份列等,你可以检查我的答案How Can I avoid using a cursor...

相关问题