我正在尝试调试填充#table的存储过程(比如proc1),让我们说#reserves。该过程没有#reserves的插入语句,但仍然有一些数据被填充到表中,并作为结果集发送到输出。
Proc1内部调用Proc2,它也声明了#reserves,并填充了一些数据。我的问题是 - 有没有一种方法可以将Proc2。#reserve发送数据到Proc1。#reserve?
以下是示例程序
Create Proc1
As
Begin
Create Table #Reserves
(
id int not null,
value int not null
)
Exec Proc2
Select id,
value
from #Reserves
End
Create Proc2
AS
Begin
Create Table #Reserves
(
id int not null,
value int not null
)
Insert into #reserves
(id, value)
Select 1 as id,2 as value
End
答案 0 :(得分:0)
每个proc都在创建它自己的#Reserves
版本(这在ASE中是可行的;如果在退出proc2
之前,则查询你的tempdb' s {{1}你应该看到sysobjects
}的两个条目。
如果您希望name like '#Reserves%'
填充由proc2
创建的#Reserves
,请考虑修改proc1
以仅创建proc2
,如果它还没有存在。