1. 程式人生 > >使用者臨時表與系統臨時表的區別

使用者臨時表與系統臨時表的區別

相同點:都可以用 Create 語句進行建立,建立後的查詢與針對普通表的方式相同。

不同點:

1. 使用者臨時表的表名以 # 符號開頭,使用者臨時表只對建立該表的使用者的Session可見。

2. 系統臨時表的表名以 ## 符號開頭,系統臨時表對整個SQL Server例項均可見,但當所有訪問它的Session都消失的時候,它會被自動刪除。

例項:建立一個臨時表實現如下功能:

表中有如下記錄

2005-09-05 勝

2005-09-05 勝

2005-09-05 負

2005-09-05 負

2005-09-10 勝

2005-09-10 負

2005-09-10 負

如何得到查詢結果:

                     勝  負

2005-09-05   2    2

2005-09-10   1    2 

SQL語句:

Create table #jl (rq varchar(10),shengfu nvarchar(1));

insert into #jl values('2005-05-09','勝');
insert into #jl values('2005-05-09','勝');
insert into #jl values('2005-05-09','負');
insert into #jl values('2005-05-09','負');
insert into #jl values('2005-05-10','勝');

select rq as ' ', sum(case shengfu when '勝' then 1 else 0 end) as '勝', sum(case shengfu when '負' then 1 else 0 end) as '負' 
from #jl group by rq