2011-06-01 89 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...

相關問題