创建临时表,#代表局部临时表,##代表全局临时表。局部临时表和全局临时表的具体含义是什么呢?
举例说明一下比较清晰些,先来看下局部临时表,【新建查询】,在里面输入如下文本:
运行后,我们在此文件执行输入: select * from #tempTable, 执行后可以查询出如下的数据:
我们另外打开一个【新建查询】,就给其命名为新建查询2,在新建查询2中执行输入: select * from #tempTable,提示如下:
修改Sql 语句中的#tempTable 为 ##tempTable, 依照上述方法再次执行,会发现新建查询2中不再提示错误,能查出和新建查询1中同样的结果。Why?=>局部临时表仅在当前会话中可见;全局临时表在所有会话中都可见。
请注意,使用全局临时表后,不要忘记drop table 掉它。但是使用局部临时表,可以不进行此操作,在当前会话结束时,系统会自动回收创建的局部临时表。