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, SQL Server üzerinde sadece geçici olarak var olan bir tablodur. Sorgular veya işlemler tamamlandıktan sonra otomatik olarak silinir.
CREATE TABLE #TempIDs (
ID INT
);
INSERT INTO #TempIDs (ID)
VALUES (249398), (249400), (249031), (249033), (249034);
SELECT *
FROM MUHASEBE_FATURADETAY
WHERE FKID IN (SELECT ID FROM #TempIDs);
DROP TABLE #TempIDs;
❗ Ancak temp tablolar, oturum sona erdiğinde otomatik silinir.
SELECT INTO ile Hızlı Temp Tablo Oluşturma
SELECT FKID INTO #TempIDs
FROM SomeOtherTable
WHERE SomeCondition = 1;
| Ö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 |
-- 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);