SQL Server da temp tablo

SQL Server'da temp tablo (geçici tablo) kullanmak, özellikle çok sayıda ID veya geçici veriyi işlemekte verimli ve esnek bir yöntemdir. Aşağıda temp tablo ile ilgili temel kullanım örnekleri ve ipuçlarını bulabilirsin:


🔹 TEMP TABLO NEDİR?

Temp tablo, SQL Server üzerinde sadece geçici olarak var olan bir tablodur. Sorgular veya işlemler tamamlandıktan sonra otomatik olarak silinir.


✅ TEMP TABLO OLUŞTURMA VE KULLANMA

1. Geçici Tablo Oluşturma

CREATE TABLE #TempIDs (
    ID INT
);

2. Veri Ekleme

INSERT INTO #TempIDs (ID)
VALUES (249398), (249400), (249031), (249033), (249034);

3. Kullanım Örneği

SELECT * 
FROM MUHASEBE_FATURADETAY 
WHERE FKID IN (SELECT ID FROM #TempIDs);

4. Temp Tablonun Silinmesi (İsteğe Bağlı)

DROP TABLE #TempIDs;

❗ Ancak temp tablolar, oturum sona erdiğinde otomatik silinir.


🔁 Alternatif: SELECT INTO ile Hızlı Temp Tablo Oluşturma

SELECT FKID INTO #TempIDs
FROM SomeOtherTable
WHERE SomeCondition = 1;

❗ TEMP TABLO KURALLARI

Özellik Açıklama
#TabloAdi Yerel temp tablo (sadece sizin oturumunuzda görünür)
##TabloAdi Global temp tablo (tüm oturumlarda erişilebilir)
Otomatik silinir Oturum/bağlantı kapandığında silinir
Index eklenebilir Evet, performans için index tanımlanabilir

🛠️ Uygulama Senaryosu: Çok Sayıda ID ile Sorgulama

-- 1. Temp tabloyu oluştur
CREATE TABLE #IDs (ID INT);

-- 2. C# veya başka bir dış kaynak üzerinden gelen ID'leri ekle
INSERT INTO #IDs (ID)
VALUES (249398), (249400), (249031), ..., (250000); -- çok sayıda

-- 3. Hedef sorguda kullan
SELECT * 
FROM MUHASEBE_FATURADETAY
WHERE FKID IN (SELECT ID FROM #IDs);