我正在使用 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