臨時表,是臨時使用的一張表。有兩種臨時表:
- 本地臨時表:只能在當前查詢頁面使用,新開查詢不能使用它。
在表名前加#即可得本地臨時表。eg:
select TOP 10 * into #temp from table1;
select * from #temp;
如果新開一個頁面重新執行該句 select * from #temp; 是無效的。
當存儲過程完成時,將自動除去在存儲過程中創建的本地臨時表。
- 全局臨時表:不管開多少查詢頁面都可使用。
在表名前加##即可得到全局臨時表,打開任何一個查詢頁面都可以使用它。eg:
select TOP 10 * into ##temp from table1;
select * from ##temp;
此時新開一個頁面重新執行該句 select * from ##temp;仍然是有效的。
全局臨時表在創建此表的會話結束且其他任務停止對其引用時自動除去。
臨時表的作用:
臨時表可以在比較復雜的嵌套查詢中提高查詢效率。
在多層嵌套子查詢的條件下,可以將子查詢抽出來放到臨時表中,再用外查詢直接查臨時表。
以上參考https://mp.weixin.qq.com/s/fg2meUpZVFUDGoppX9vCWQ