SQL Server da Temporary Tablo Kullanımı

Sql Server’da 2 temp tablo türü oluşturulabilir.
Bunlar;

  • Local Temp Tablo
  • Global Temp Tablo

Local Temp Tablo

Local Temp tablolar sadece tabloyu olusturan kullanicinin, olusturmak için kullandigi connection üzerin de geçerlidir. Kullanici baglantiyi kapattigi anda otomatik olarak silinir. Local Temp tablo tanimlamak için tablo isminin önüne # isareti koymamiz yeterlidir.

CREATE TABLE #LocalTempTablo
(
    ID int,
    Ad varchar(20), 
    Soyad varchar(20)
)
 
insert into #LocalTempTablo values ( 1, 'TEST','MEST');
 
select * from #LocalTempTablo 
 
Yukariki scriptleri çalistirdiktan baska bir sorgu penceresinde select veya insert sorgusu çalistirirsaniz asagidaki hatayi alirsiniz.
Msg 208, Level 16, State 0, Line 1
Invalid object name '#LocalTempTablo'

Global Temp Table

Global olarak temp tablo tanimlamak için ## karakterlerini tablo isminden önce eklememiz yeterlidir. Global temp tablolar bir connection içinde tanimlandigi anda, normal tablolar gibi tüm kullanicilar ve connectionlar içinde kullanilabilir hale gelirler. Global tabloyu olusturdugunuz connection kapatilana kadar bu tablo var olmaya devam eder.

CREATE TABLE ##LocalTempTablo
(
    ID int,
    Ad varchar(20), 
    Soyad varchar(20)
)
 
insert into ##LocalTempTablo values ( 1, 'TEST','MEST');
 
select * from ##LocalTempTablo 
 
Yukaridaki select ve insert sorgusunu istediginiz herhangi bir sorgu ekraninda çalistirabilirsiniz. Ilk olusturdugunuz connection açik oldugu sürece heryerden bu tablolara erisim yapilabilir. Temp tabloyu oluşturduğunuz pencereyi kapattığınızda ise yine aşağıdaki hatayı alırsınız.
Msg 208, Level 16, State 0, Line 1
Invalid object name '#LocalTempTablo'