首先先說一下表變量和臨時表的區別
1.臨時表:涉及到物理IO讀寫 所有操作都有日誌 支持索引和數據統計而且臨時表有所機制
2.表變量:使用內存(讀取速度快)沒有操作日誌
總結一下使用場合
遇到以下幾種情況的時候選用臨時表
① 存儲的數據較大
② 存儲的數據比較重要
③ 需要支持索引和數據統計 (數據統計這塊本人暫時理解爲需要用到聚合)
其他時候就選用表變量
臨時表和表變量具體語法
1.臨時表
--創建一個臨時表
create table #TempTable(
Name varchar(20),
Num varchar(20)
....
)
--向臨時表中添加一條記錄
insert into #TempTable (name,num) values ('大雄','001')
可以看出不管是創建臨時表還是向臨時表中添加一條數據,其語法都和普通表的用法一樣
2.表變量
--定義表變量
declare @table table(
Name varchar(20),
Num varchar(20)
....
)
--給表變量賦值(可以理解爲給表中的字段一一賦值)
insert into @table (Name) select Name from #TempTable
今天先到這 明天繼續!