跨多个存储过程使用临时表

今天,在sql server 2008 中,在一个存储过程中创建了一个临时表#table1,打算在另外一个存储过程中使用这个临时表。可是悲剧的是,怎么都失败。更晕的是,我是在一个ASP.NET项目中调用的存储过程。其中调试错误的艰辛。。~~~~(>_<)~~~~

谁用谁知道啊!

查了资料,才知道原来这里需要用全局表变量##tablel1。其中的概念解释如下:

本地临时表的名称以单个数字符号 (#) 打头;它们仅对当前的用户连接是可见的;当用户从 Microsoft? SQL Server? 2000 实例断开连接时被删除。全局临时表的名称以数学符号 (##) 打头,创建后对任何用户都是可见的,当所有引用该表的用户从 SQL Server 断开连接时被删除。

最让我不明白的是:我的2个存储过程都是一个连接啊!按照这个解释是可见的啊!!

不理它了。我个人的感觉就是#table 类似于@table;##table 类似于@@table。这样的话,就解释通了。不知道理解的对不对?!

原文地址:https://www.cnblogs.com/bigguai/p/2398426.html