2010-09-26 18 views
5

Ho una stored procedure che deve chiamare più volte un secondo SP. L'unica cosa che cambia sono i parametri del 2 ° SP. Qualcosa di simile a questo:Devo usare sp_executesql o EXEC per eseguire una stored procedure?

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

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

Ora, se è stato SQL dinamico Mi correva So sp_executesql sarebbe meglio di EXEC ma dato quello che sto chiamando più volte in realtà un SP dovrei continuare a utilizzare sp_executesql o è EXEC come mostrato sopra altrettanto buono?

Grazie per qualsiasi aiuto.

risposta

2

Usa EXEC come avete sopra che è la forma EXEC storedprocname

sp_executesql è meglio di EXEC (@sqlstring) generale in cui si dispone di SQL dinamico, non un proc memorizzato. Quindi, poiché stai chiamando un proc memorizzato, la sintassi che hai è la migliore.

+0

OK, grazie per la conferma. – user169867

Problemi correlati