每行调用存储的proc的最佳方法是什么?

问题描述

| 我尝试使用与源相同的方案将此表集复制到其他集。 我用sql编写了存储过程,该过程从TableA接收ID,并从B-G复制所有表。 现在,我想为TalbeA的每一行调用该存储的proc。我可以为此使用CURSOR或WHILE,但我读到不建议使用CURSOR,并且WHILE比CURSOR慢。 还有其他方法吗?在这种情况下,CURSOR \\ WHILE是解决方案吗? 谢谢     

解决方法

        在这种情况下,CURSOR / WHILE很好-没有更好的方法来按行调用存储过程。但是,如果此操作的性能可能会影响系统,则在运行时请务必小心。 如果可以对其进行编码,则是一个更好的选择-并且可以在一堆SQL语句中对TableA及更低版本中的记录执行所有“复制”,从而完全避免了游标。总结此建议-基于集合而不是基于行。     ,        除非在存储的proc中执行此复制有显着的优势,否则最好在当前脚本中内联重写复制。 如果您想知道如何实现此目标,或者必须维护外键,使用标识列等,则可以查看有关如何避免使用游标的答案。...     

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...