【发布时间】:2013-04-25 10:34:47
【问题描述】:
我有一个存储过程的层次结构,如下所示:
1
2
3
现在我正在做的是: 首先,我展示的是第一级 sp。
Create proc proc_test3
(
@Id uniqueidentifier,
@value varchar(100)
)
as
declare @Outputvalue varchar(100)
if @Id='2'
begin
exec @Outputvalue= proc_test2 @Id @value
select @Outputvalue
end
这是第二层:
Create proc proc_test2
(
@Id uniqueidentifier,
@value varchar(100)
)
as
declare @Outputvalue varchar(100)
if @Id='2'
begin
exec @Outputvalue= proc_test1 @Id @value
select @Outputvalue
end
这是最后的第三级:
Create proc proc_test1
(
@Id uniqueidentifier,
@value varchar(100)
)
as
update tblsample set value=@value where id=@Id
select 1
我只是粘贴了一个示例,但实际上我的代码阅读起来非常复杂,因此我以一些更简单的方式实现了它,以便每个人都能轻松理解它,
现在我的问题是什么: 每次我在执行“proc_test3”时得到@Outputvalue=0,请帮助我,以便我可以摆脱这个问题,如果我做错了事情,请告诉我正确的方法,请帮我解决问题。
【问题讨论】:
-
@GSerg hmm 好的,但是如何克服这个问题,请您向我解释一下这个答案或者我现在该如何解决这个问题,.....请指导我
标签: sql sql-server sql-server-2008 variables sql-server-2008-r2