Должен ли я использовать sp_executesql или EXEC для запуска хранимой процедуры? - PullRequest
5 голосов
/ 26 сентября 2010

У меня есть хранимая процедура, которая должна вызывать 2-й SP несколько раз.Единственное, что меняется, это параметры 2-го SP.Примерно так:

 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, как показано выше, так же хорошо?

Спасибо за любую помощь.

1 Ответ

2 голосов
/ 26 сентября 2010

Используйте EXEC, как у вас выше, который является формой EXEC storedprocname

sp_executesql лучше, чем EXEC (@sqlstring), обычно там, где у вас динамический SQL, а не хранимый процесс. Так как вы вызываете хранимый процесс, ваш синтаксис - лучший способ

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...