TABLONUN VARLIK KONTROLU

Merhabalar,

SQL’ de programlama yaparken, bir tablonun var olup olmadığını kontrol etmeniz gerekebilir. Bu tablo ister temp bir tablo olsun ister normal bir tablo hiç fark etmez. Her tablo için anlatacağım yöntemi kullanabilirsiniz.

Bu işlemi gerçekleştirmek için OBJECT_ID() isminde tanımlanmış fonksiyonu kullanıyor olacağız.  OBJECT_ID() fonksiyonu string bir parametre ile çalışır. Önemli kısmı ise string ifadeye yerine yazılacak olan tablo adının database ve şema ismiyle birlikte yazılacak olması. Fonksiyonun kullanımı şu şekildedir;

OBJECT_ID(‘database.shema.table’)

Geriye döndürdüğü değer ise true veya false şeklindedir. Yani eğer bu isimde bir nesne var ise nesnenin ID sini yok ise geriye NULL değer döndürür.

Şimdide nasıl kullanıldığını baştan sona detaylı bir örnek ile görelim. Hızlıca kendinizde denemek istersiniz diye, temp tablo oluşturarak örnek yapacağım ve kodları kopyalayıp çalıştırdığınızda kendiniz de test edebilmiş olacaksınız.

Temp tablo oluşturmak için aşağıdaki select cümlesini çalıştıralım;

SELECT ‘Jane’ Name, ‘Mathew’  SurName INTO ##Person

1

Bu şekilde hem ##Person isminde bir temp tablo oluşturduk hemde içerisine bir kayıt eklemiş olduk.

Tablomuzu sorguladığımızda ise şu şekilde görüntülenecektir;

SELECT * FROM ##Person

2

Şimdi de OBJECT_ID() fonksiyonu çalıştırıldığında nasıl bir sonuç alıyoruz ona bakalım;

select object_ID(‘tempdb.dbo.##Person’) ObjectID

3

Artık var fonksiyonun nasıl kullanıldığını gördüğümüze göre asıl amacımız olan tablonun varlığını nasıl kontrol edeceğiz ona bakalım. Aslında dönen sonuç bizim için önemli olan kısım. Yani NULL olup olmadığına bakarak işlemimizi tamamlayacağız.

IF object_Id( ‘tempdb.dbo.##Person’) IS NOT NULL
Print ‘Tablo Var’
ELSE
Print ‘Tablo yok’

4

NOT: Eğer tablonuz için deault shema yani ‘dbo’ kullanılmış ise  yukarıdaki gibi iki nokta arasına shema ismini yazmadan da kullanabilirsiniz.

Bu konuyla ilgili anlatacaklarım temel olarak bu şekildedir. Kullanım amacınıza göre “Print” yerine tablo sorgulama, kayıt silme yada drop table gibi istediğiniz işlemi yaptırabilirsiniz.

Eğer bu konuyla yada SQL ile ilgili bir sorunuz olursa mutlaka yorumlara ekleyin, en kısa sürede cevaplanacaktır veya konuyla ilgili makale yazılacaktır.

Kolay gelsin…

 

 

 

 

Views All Time
Views All Time
Views Today
Views Today

Bunlar da hoşunuza gidebilir...

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir