我有一个包含2种不同行为的存储过程。第一种情况是它做事并创建一个本地临时表(#MyTempTable
)。第二种情况检查临时表的存在,如果存在,则对其进行处理。但在第二次调用时,临时表不再存在。据我所知,在连接存活之前不应删除它。
为什么?
目前我用全局临时表(##MyTempTable
)解决了它,但我想知道服务器删除文件的原因。
谢谢你的到来。
答案 0 :(得分:0)
您必须从第一个存储过程调用第二个存储过程。如果在一个存储过程中创建temp
表,则在流退出此SP后,将删除temp
表。做类似下面的事情。
CREATE PROCEDURE Procedure1
AS
[parameters]
BEGIN
EXEC Procedure2 [parameters];
END
通过这种方式,您的第二个SP将可以访问在第一个SP中创建的本地 temp
表。