if object_id is not null ile if exists farkı
-
- Üye
- Mesajlar: 7
- Kayıt: 03 Kas 2023 12:45
if object_id is not null ile if exists farkı
sql server da stored procedure basına yazılan if object_id is not null ile sql server if exists farkı ney?biribirinin yerine kullanılır mı
Çok sevmekte yetmiyor bazen...
Re: if object_id is not null ile if exists farkı
not null -> değerin null olmadığını kontrol eder.
exists ise genelde kayıt olup olmadığını kontrol için kullanılır.
exists (select 1 from TABLOADI where şart=0)
gibi. Genelde aynı gibi olsalarda exists ilk kayıtı bulduğu anda gerisine bakmaz ve daha hızlı çalışır. Mümkün olduğu kadar exists kullanmakta fayda var.
Kolay gelsin.
exists ise genelde kayıt olup olmadığını kontrol için kullanılır.
exists (select 1 from TABLOADI where şart=0)
gibi. Genelde aynı gibi olsalarda exists ilk kayıtı bulduğu anda gerisine bakmaz ve daha hızlı çalışır. Mümkün olduğu kadar exists kullanmakta fayda var.
Kolay gelsin.
Re: if object_id is not null ile if exists farkı
Bir tablonun varlığını denetlemek için object_id fonksiyonu kullanmak daha pratiktir. Böyle bir durumda hız önemsizdir bence... Ki, object_id fonksiyonu da sahne arkasında exists gibi sistem tablolarını okuyor sonuçta.
.
.
- sabanakman
- Kıdemli Üye
- Mesajlar: 3081
- Kayıt: 17 Nis 2006 08:11
- Konum: Ah bi Antalya olaydı keşke (Ankara)
Re: if object_id is not null ile if exists farkı
İkisi farklı çalışan fonksiyon. EXISTS bir kayıt seti (satır veya satırlar içeren tablo) içinde kayıt var mı yok mu bunu tespit eder. Kayıt varsa TRUE yoksa FALSE sonucu üretir. OBJECT_ID ise veritabanında o nesne varsa ID değerini verir, o nesne yoksa NULL değeri verir.
Burada örneğe dikkat edilirse NULL değere sahip 1 satırlık kayıt geldiği için "Kayıt var" sonucu geleceğine dikkat çekmek isterim.
Kod: Tümünü seç
if EXISTS(select null)
select 'Kayıt var'
else
select 'Kayıt yok'
if OBJECT_ID('TabloAdi') is null
select 'Nesne var'
else
select 'Nesne yok'
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
_________________
Derin olan kuyu değil kısa olan iptir. - .