Exists - kod fonksiyonu
Exists() , belirli bir alan değerinin komut dosyasında alana zaten yüklenmiş olup olmadığını belirler. Fonksiyon, TRUE veya FALSE değerini döndürür, bu nedenle bir LOAD deyiminin veya IF işlevinin where yan tümcesinde kullanılabilir.
Söz Dizimi:
Exists(field_name [, expr] )
Dönüş veri türü: Boole
Bağımsız Değişkenler:
Bağımsız Değişken | Açıklama |
---|---|
field_name |
Değer aramak istediğiniz alanın adı. Tırnak işaretleri olmadan açık alan adı kullanabilirsiniz. Alan önceden kod tarafından yüklenmiş olmalıdır. Başka bir deyişle, kodda bir yan tümcede yüklenmiş olan bir alana başvuramazsınız. |
expr |
Varsa denetlemek istediğiniz değer. Geçerli load deyiminde bir veya birkaç alana başvuran bir ifade veya açık bir değer kullanabilirsiniz. Bilgi notuGeçerli load deyiminde yer almayan alanlara başvuramazsınız.
Bu bağımsız değişken isteğe bağlıdır. Bunu atlarsanız fonksiyon, geçerli kayıtta field_name değerinin önceden mevcut olup olmadığını denetler. |
Örnek 1:
Exists (Employee)
Geçerli kayıttaki Employee alanının değeri bu alanı içeren daha önce okunmuş herhangi bir kayıtta zaten mevcutsa -1 (True) sonucunu döndürür.
Örnek 2:
Exists(Employee, 'Bill')
Employee alanının geçerli içeriğinde 'Bill' alan değeri bulunursa -1 (True) sonucunu döndürür.
Exists (Employee, Employee) ve Exists (Employee) deyimleri eşdeğerdir.
Örnek 3:
Bunun sonucunda veri modelinde Citizens adında bir tablo elde edilir ve Employee ile Address boyutları kullanılarak tablo grafiği olarak görüntülenebilir.
where cümlesi: where Exists (Employee), Citizens tablosundan gelen adlardan yalnızca Employees içinde de bulunan adların yeni tabloya yüklenmesi anlamını taşır. Drop ifadesi karışıklığı önlemek için geçici Employees tablolarını kaldırır.
Employee | Address |
---|---|
Bill | New York |
John | Miami |
Steve | Chicago |
Örnek 4:
where yan tümcesi, not: where not Exists (Employee) içerir.
Başka bir deyişle yalnızca, Employees içinde bulunmayan Citizens tablosundaki adlar yeni tabloya yüklenir.
Citizens tablosunda Lucy için iki değer vardır ancak sonuç tablosuna yalnızca biri dahil edilir. İlk satırı Lucy değeriyle yüklediğinizde, bu değer Employee alanına dahil edilir. Bu nedenle, ikinci satır denetlendiğinde değer zaten mevcut olur.
Employee | Address |
---|---|
Mary | London |
Lucy | Madrid |
Örnek 5:
Bu örnekte, tüm değerlerin nasıl yükleneceği gösterilmektedir.
Lucy ile ilgili tüm değerleri alabilmek için iki şey değiştirildi:
-
Employees tablosuna, Employee çalışanının Name olarak yeniden adlandırıldığı bir önceki yükleme eklenmiştir.
Load Employee As Name;
-
Citizens içindeki Where koşulu şu şekilde değiştirilmiştir:
not Exists (Name, Employee).
Bu, Name ve Employee için alanlar oluşturur. İkinci Lucy satırı denetlendiğinde, Name içinde hala mevcut değildir.
Employee | Address |
---|---|
Mary | London |
Lucy | Madrid |
Lucy | Paris |
Örnekte kullanılan veriler: