我正在使用SQL Server 2008。
我有一个存储过程,其中我执行了另一个usp。
我想获取第二个usp的输出,并相应地返回主usp输出参数。
但是我的主usp总是将第二个usp值与主usp值一起返回。
但我只想返回主usp值。
以下是我的程序:
ALTER Proc [dbo].[usp_ChangeStatus](@id int,@Status int,@Name varchar(300),@Success int output )
as
set @Success=0
begin try
if exists(Select * from tbl_abc where id= @id)
Begin
if(@Status =1)
begin
----Try-Catch block----
begin try
declare @AddHostStatus as int
set @AddHostStatus=0
exec @AddHostStatus =usp_xyz @Name,0,@Address
if(@AddHostStatus=-3)
begin
set @Success=1
end
end try
begin catch
set @Success=0
end catch
----End-Try-Catch block----
end
if(@Success=1)
begin
--do something here
end
End
end try
begin catch
set @Success=0
end catch
select @Success