EXECUTE en SQl Server 2000

Desde un Procedimiento Almacenado necesito llamar a otro procedimiento almacenado, donde el Procedimiento almacenado Principal pueda controlar si el Procedimiento Almacenado secundario dio error o no...
Ej:
Create Procedure SP1
As
Declare @Query nvarchar(4000)
declare @Param1 int
set @Param1 = 99
set @Query = 'SP2 ' + Param1
EXECUTE @Query
Go
Entonces .. Necesito controlar si la instrucción EXECUTE @Query retorna algún error luego de su ejecución.
Es necesario que lo haga con EXECUTE, ya que el nombre del procedimiento almacenado secundario lo tengo en una tabla en la base de datos.

1 Respuesta

Respuesta
1
Según lo que me comentas yo crearía una variable de salida(OUTPUT) en el procedimiento secundario y en esa variable devolvería un 0/-1 en función de tus necesidades.
Cualquier cosa la comentamos
Me puedes explicar mejor eso de la variable de tipo OutPut en el Procedimiento secundario...
Yo se que se declara la variable como @NomVar int OutPut, ...
Pero como la llamo desde el SP Primario cuando uso EXECUTE o Exec Sp_ExecuteSql, ya que como te comente todos los datos los tenfo en campor de tipo Varchar en la BD lo cual no me permite llamar al SP de forma directa, tengo que hacerlo por medio de EXECUTE o Sp_ExecuteSql
Espero que me puedas aclarar más este tema, por que no logro solucionar el problema..
Saludos y Gracias por tu tiempo...
Espero tu Aclaración..
No es lo que necesitaba ... pero igual agradezco tu ayuda .. por eso te puntuare con el máximo... claro que mi problema es otro... Quizá no supe expresarme bien ...
Saludos y Suerte ...
Es muy fácil,
en el procedimiento primario crea una variable por ejemplo @Resul y se la asignas al procedimiento secundario de la siguiente manera:
set @Resul=EXECUTE @Query
y a partir de aqui controlas el resultado del procedimiento secundario:
if @Resul=1 then
begin
--Aqui ejecutas lo que necesites si el procedimiento ha devuelto 1
end
Else
--Aquí ejecutas lo que necesites si el procedimiento ha devuelto un 0
begin
end

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas