2010-09-26 22 views
5

Tengo un procedimiento almacenado que necesita llamar a un segundo SP varias veces. Lo único que cambia son los parámetros del 2do SP. Algo como esto:¿Debo usar sp_executesql o EXEC para ejecutar un procedimiento almacenado?

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

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

Ahora bien, si se SQL dinámico que se ejecuta Sé sp_executesql sería mejor que EXEC pero ya que lo que estoy llamando varias veces en realidad un SP debería seguir utilizando sp_executesql o es como EXEC mostrado arriba tan bueno?

Gracias por cualquier ayuda.

Respuesta

2

Uso EXEC como que tiene encima de la cual es la forma EXEC storedprocname

sp_executesql es mejor que EXEC (@sqlstring) general, donde se tiene SQL dinámico, no un procedimiento almacenado. Entonces, como llama a un proceso almacenado, la sintaxis que tiene es la mejor manera

+0

OK, gracias por la confirmación. – user169867

Cuestiones relacionadas