2010-09-26 110 views
5

我有一個需要多次調用第二個SP的存儲過程。唯一改變的是第二個SP的參數。事情是這樣的:我應該使用sp_executesql還是EXEC運行存儲過程?

SELECT @P1=5, @P2=5 
EXEC MyProc @P1, @P2 

SELECT @P1=0, @P2=1 
EXEC MyProc @P1, @P2 

現在,如果它是動態的SQL我跑,我知道sp_executesql的會比EXEC更好,但因爲什麼我打電話實際上是一個SP多次我應該仍然使用sp_executesql的或類似EXEC上面顯示的一樣好?

感謝您的任何幫助。

回答

2

使用EXEC上面這就像你已經是形式EXEC storedprocname

sp_executesql優於一般EXEC (@sqlstring),你必須動態SQL,而不是一個存儲過程。因此,因爲您正在調用存儲過程,所以您擁有的語法是最好的方法

+0

好的,謝謝您的確認。 – user169867 2010-09-26 17:57:28

相關問題