Son Haberler
Anasayfa / Yazılım / SQL / IF EXISTS ve IF NOT EXISTS Kullanımı

IF EXISTS ve IF NOT EXISTS Kullanımı

IF EXISTS ile bir SELECT sorgusuna bağlı olarak koşullu olarak istediğimiz işlemi yaptırabilme hakkına sahip olabiliriz. Yani aslında IF EXISTS ile SELECT sorgusu sonucu belirttiğimiz duruma göre işlem yaptırabilir ya da yaptırmayabiliriz. Yaptırmama içinde IF NOT EXISTS kullanırız. Sytanx yani söz dizimi olarak kullanımı aşağıdaki gibidir:

IF EXISTS (SELECT * FROM TabloAdı WHERE durum) BEGIN durum1, durum2 END

IF NOT EXISTS (SELECT * FROM TabloAdı WHERE durum) BEGIN durum1, durum2 END

Örnek yaparak yazımızı bitirelim. AdventureWorks 2012 veri tabanı üzerinde işlem yapıyorum.

IF EXISTS(SELECT * FROM Person.Person WHERE BusinessEntityID = 3) BEGIN
PRINT 'BusinessEntityID değeri 3 olan veriler mevcut' END 
ELSE BEGIN PRINT 'BusinessEntityID değeri 3 olan veri mevcut değil' END;

Bu sorgumda Person.Person tablosunda BusinessEntityID değeri 3 olan veri var mı yok mu kontrol ediyorum. Eğer var ise üstteki BEGIN bloğu çalışıp, “BusinessEntityID değeri 3 olan veriler mevcut” yazacak. Değil ise bu sefer ELSE BEGIN bloğundaki kısım çalışacak ve bu sefer ekrana “BusinessEntityID değeri 3 olan veri mevcut değil” yazacak.

Bir de IF NOT EXISTS kullanımını örnekleyelim.

IF NOT EXISTS(SELECT * FROM Person.Person WHERE FirstName = 'İsmail') BEGIN
PRINT 'İsmail ile başlayan ön ad yok'; 
END;

Bu seferde sorgumda İsmail ile başlayan ön ad var mı yok mu, bunu kontrol ediyorum. Görüleceği üzere bu sefer tek BEGIN-END bloğu kullandım, ikinci durumu eklemedim. Aslında ekleme imkanımız da mevcut, yalnız bu sefer tek durum ile göstermek istedim. Bir sonraki yazıda görüşmek üzere..

Bir cevap yazın

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