Global Geçici Tablolar Oluşturmak

Bu makalede Sql server’da iki farklı geçici tablo oluşturmayı, geçici tablolara veri aktarımı gibi işlemleri gerçekleştirmeyi ve geçici tabloya erişim yöntemlerini görmüş olacağız.

2 farklı geçici tablo oluşturma yöntemi olduğunu söylemiştir bunlar

  • Lokal geçici tablo
  • Global geçici tablo

Lokal geçici tablo: sadece açık olan o veritabanı bağlantısı üzerinden erişebilirsiniz. Bağlantı kesilirse yani ilgili veritabanı bağlantısı kesildiğinde SQL Server açık kalsa dahi lokal tablo kaybolur.

Global geçici tablo: Bu geçici tablo yönteminde ise ilgili veritabanı bağlantısı kesilse dahi bir başka bağlantı üzerinden global geçici tablolara erişim sağlanır. Taki SQL server kapatılana kadar. Yani sql server üzerindeki son veritabanı bağlantısı kaptılana kadar global geçici tablolara erişim sağlanır. Global geçici tabloları oluşturmanın, lokal geçici tablo oluşturmadan tek farkı ise 2 tane # işaretinin yanyana kullanılmasıdr, yani #Tabloadi ile lokal geçici tablo tanımlanırken ##Tabloadi ilede global geçici tablo tanımlanabilir. bir örnek gerçekleştirelim veritabanı işlemlerini AdventureWorks2012 veritabanı üzerinden gerçekleştireceğiz.

Tablo oluşturmak için create table cümlesini ve tablo içerisine veri eklemesi içinde INSERT INTO cümlesini kullanacağız. Global geçici tablo oluşturma içerisine AdventureWorks2012 veritabanı “Sales” tablosu içerisindeki alanlardan faydalanarak oluşturacağız.

Sonuç olarak tablo çıktısı

Global Geçici Tablolar Oluşturmak - Ekran Çıktısı

Böylelikle ##Musteriler diyerek yani ## kullanarak global geçici tablomu oluşturmuş oldum. Şimdi global olup olmadığını almamak için başka bir veritabanı bağlantısı üzerinden AdventureWorks2012 veritabanı üzerinden oluşturduğumuz ##Musteriler geçici tablosuna ulaşmaya çalışalım ve sonucu görelim.

Global Geçici Tablolar Oluşturmak - Global geçici tabloya erişim

master veritabanı seçilirken sorgu penceremden ##Musteriler adlı global geçici tabloyu aşağıdaki sql cümlesini kullanarak çekiyoruz.

ver aşağıdaki erkan görüntüsünde gördüğünüz gibi Sqlserver’in master tablosu üzerinden ##Musteriler global tablosu sorunsuz şekilde geldi.

Global Geçici Tablolar Oluşturmak - Sorgu sonucu

Görüleceği gibi global geçici tablolara sqlserver’da herhangi bir veritabanı üzerinden erişebilmekteyiz. Ama bu global yöntem kullanılırken çok dikkatli olunmalı aynı SQLServer üzerinden birden çok veritabanının kullanılma ihtimalinde global geçici tabloların aynı isimden dolayı çakışma ihtimalini düşünürek akıllıca kullanılması gereken bir yöntemdir.