SQL Server geçici tabloları, verileri geçici olarak depolar. SELECT, INSERT, DELETE ve UPDATE gibi aynı işlemleri geçici bir tabloda normal bir SQL tablosunda yaptığınız gibi gerçekleştirebilirsiniz.
Temp tabloları tempdb veritabanında yaşar ve yalnızca bağlantı süresince görünür. Bağlantıyı sonlandırdığınızda, SQL Server geçici tabloyu siler. Ayrıca, istediğiniz zaman açık bir şekilde silebilirsiniz.
SQL Server Geçici Tablo Türleri
İki tür SQL Server geçici tablosu vardır: yerel ve genel.
Yerel Sıcaklık Tablosu
Bir yerel geçici tablo, yalnızca onu oluşturan bağlantı tarafından görülebilir. Bu bağlantı sona erdiğinde veya kullanıcının ağ bağlantısı kesildiğinde SQL Server örneğin, bir yerel geçici tablo otomatik olarak bırakılır.
Yerel bir geçici tablo oluşturmak için, CREATE TABLE deyimiyle tablo adının başında tek bir karma simgesi (#) kullanın. İşte sözdizimi.
YARATMAKMASA#Geçici Tablo (
Sütun1 INT,
Sütun2 VARCHAR(50)
);
Örneğin, aşağıdaki kod, bir ad ve e-posta alanıyla TempCustomer adlı geçici bir tablo oluşturur.
YARATMAKMASA#GeçiciMüşteri (
ID int BOŞ DEĞİL BİRİNCİL ANAHTAR
TamAdı VARCHAR(50),
E-posta VARCHAR(50)
);
Küresel Sıcaklık Tablosu
Genel geçici tablo, tüm bağlantılar ve kullanıcılar tarafından görülebilen geçici bir tablodur. Tabloya başvuran tüm bağlantılar ve kullanıcıların bağlantısı kesildiğinde SQL Server onu bırakacaktır.
Genel bir geçici tablo oluşturmak için tablo adının önüne çift kare (##) ekleyin ve CREATE TABLE deyimini kullanın.
YARATMAKMASA##Geçici Tablo (
Sütun1 INT,
Sütun2 VARCHAR(50)
);
Aşağıdaki kod, TempCustomer adlı genel bir geçici tablo oluşturur.
YARATMAKMASA##Geçici Müşteri (
ID int BOŞ DEĞİL BİRİNCİL ANAHTAR
TamAdı VARCHAR(50),
E-posta VARCHAR(50)
);
Bu kod, bir yerine iki karma sembolle yerel geçici tablo örneğine benzer. şimdi kullanabilirsiniz standart SQL komutları geçici tablodaki verileri eklemek veya değiştirmek için.
Temp Tablosu Nasıl Düşürülür?
SQL Server örneği, kendisine başvuran tüm kullanıcıların bağlantısı kesildiğinde otomatik olarak bir geçici tablo bırakır. En iyi uygulama olarak, tempdb belleğini boşaltmak için geçici tablolarınızı her zaman açık bir şekilde bırakmalısınız.
Bir geçici tabloyu bırakmak için, DROP TABLE IF EXISTS deyimini ve ardından geçici tablonun adını kullanın.
#TempCustomer tablosunu şu şekilde bırakabilirsiniz:
DÜŞÜRMEKMASAEĞERVAR#GeçiciMüşteri
Aynı kodu kullanın, ancak genel bir geçici tablo bırakmak için tablo adını değiştirin.
DÜŞÜRMEKMASAEĞERVAR##Geçici Müşteri
SQL Temp Tablolarının Tipik Kullanımları
Geçici tablolar, daha fazla işlemeniz gereken karmaşık sorguların ara sonuçlarını saklamanız gerektiğinde kullanışlıdır. Örneğin, raporlar oluştururken, çeşitli veritabanlarından sorgu sonuçlarını depolamak için geçici tablolar oluşturmanız gerekebilir. Daha sonra, geçici tablolara karşı bir sorgu çalıştırarak nihai raporu oluşturabilirsiniz.
Geçici tabloların yararlı olduğu başka bir senaryo, başka bir sorguyu çalıştırmak için bir tablodaki sorgu sonuçlarına ihtiyaç duymanızdır. Sonuçları geçici bir tabloda saklayabilir ve ardından yeni sorgunuzda bu tabloya başvurabilirsiniz. Temel olarak, belirli bir görevi gerçekleştirmek için ihtiyaç duyduğunuz verileri tutmak için geçici tabloyu bir çalışma veya arabellek tablosu olarak kullanıyorsunuz.
SQL Server'da Geçici Tabloları Kullanma
Verileri geçici olarak depolamak ve işlemek için SQL Server geçici tablolarını kullanabilirsiniz. Yerel ve genel olmak üzere iki tür geçici tablo vardır. Yerel bir geçici tablo, oluşturulduğu bağlantı tarafından görülebilirken, genel bir geçici tablo tüm bağlantılarda görünür.
Geçici tablolar, sunucu örneğiyle bağlantınızı kestiğinizde otomatik olarak yok edilir. Ancak, hafızayı korumak için kullandıktan sonra her zaman düşürmelisiniz.