Qualify
Qualify deyimi, alan adlarının nitelendirilmesi, yani alan adlarının tablo adıyla aynı öneki alması özelliğini açmak için kullanılır.
Söz Dizimi:
Qualify *fieldlist
Farklı tablolardaki aynı adlı alanlar arasında otomatik birleştirme, alan adını kendisine ait tablo adıyla niteleyen qualify deyimi aracılığıyla askıya alınabilir. Koşullara uyduğu takdirde, alan adları bir tabloda bulunduğunda yeniden adlandırılır. Yeni ad tablename.fieldname biçiminde olur. Tablename, geçerli tablonun etiketine eşdeğerdir veya bir etiket yoksa LOAD ve SELECT deyimlerindeki from öğesinden sonra görünen ada eşdeğerdir.
Niteleme, qualify deyiminden sonra yüklenen tüm alanlar için yapılır.
Niteleme, varsayılan olarak, kod yürütmesinin başında her zaman kapalıdır. Bir alan adının nitelenmesi, istenildiği zaman qualify deyimi kullanılarak etkinleştirilebilir. Niteleme, istenildiği zaman Unqualify deyimi kullanılarak kapatılabilir.
Bağımsız Değişkenler:
Bağımsız Değişken | Açıklama |
---|---|
*fieldlist | Nitelemenin açılması gereken alanların virgülle ayrılmış listesi. Alan listesi olarak * kullanılması tüm alanlara işaret eder. Alan adlarında * ve ? joker karakterlerine izin verilir. Joker karakterler kullanıldığında alan adlarının tırnak içine alınması gerekebilir. |
Örnek 1:
Qualify B;
LOAD A,B from x.csv;
LOAD A,B from y.csv;
İki tablo (x.csv ve y.csv) yalnızca A aracılığıyla ilişkilidir. Sonuçta ortaya üç alan çıkar: A, x.B, y.B.
Örnek 2:
Alışık olunmayan bir veritabanında, aşağıdaki örnekte gösterildiği gibi, yalnızca bir veya birkaç alanın ilişkilendirildiğinden emin olarak başlamak çoğunlukla faydalı olur:
qualify *;
unqualify TransID;
SQL SELECT * from tab1;
SQL SELECT * from tab2;
SQL SELECT * from tab3;
tab1, tab2 ve tab3 tabloları arasındaki ilişkilendirmeler için yalnızca TransID alanı kullanılır.