日期:2014-05-18  浏览次数:20588 次

新手请教:创建临时表为什么要加#
视图很慢,于是想到用存储过程,创建临时表来避免嵌套,提高查询效率。
然后就有了疑惑,临时表的作用是存储临时数据,用完就drop掉,但是普通表也可以这么用啊,所以为什么非要加个#呢?
我知道这个问题很不专业,但确实想不明白为啥,望了解的人指点一下。谢谢啦。

------解决方案--------------------
本地临时表 
以一个井号 (#) 开头的那些表名。只有在创建本地临时表的连接上才能看到这些表,链接断开时临时表即被删除(本地临时表为创建它的该链接的会话所独享)或者这样说局部临时表是有当前用户创建的,并且只有当前用户的会话才可以访问。
------解决方案--------------------
带一个#的是局部临时表,存储过程结束,这些临时表也就消失了,不用drop
带两个##的是全局临时表,可以被多个存储过程调用,一旦没有人连接这个表,这个表就会自动消失,不用drop
具体你可以用查询分析器多个窗口来验证一下