Qualify
Instrukcja Qualify służy do przełączania kwalifikacji nazw pól, na przykład aby nazwy te przyjmowały jako prefiks nazwę tabeli.
Składnia:
Qualify *fieldlist
Przy użyciu instrukcji qualify, kwalifikującej nazwę pola z nazwą tabeli, można zawiesić automatyczne sprzężenie pól o tej samej nazwie w różnych tabelach. W przypadku kwalifikacji nazwy pól po znalezieniu ich w tabeli zostaną zmienione. Nowa nazwa będzie miała formę tablename.fieldname. Tablename to odpowiednik etykiety bieżącej tabeli lub, w przypadku braku etykiety, nazwy pojawiającej się po określeniu from w instrukcjach LOAD i SELECT.
Kwalifikacja zostanie przeprowadzona dla wszystkich pól załadowanych po instrukcji qualify.
Kwalifikacja jest zawsze domyślnie wyłączona na początku wykonania skryptu. Kwalifikację nazwy pola można aktywować w dowolnym momencie przy użyciu instrukcji qualify. Kwalifikację można wyłączyć w dowolnym momencie przy użyciu instrukcji Unqualify.
Argumenty:
Argument | Opis |
---|---|
*fieldlist | Rozdzielana przecinkami lista pól, w odniesieniu do których kwalifikacja powinna być włączona. Użycie znaku * jako listy pól oznacza wszystkie pola. W nazwach pól dozwolone jest korzystanie z symboli wieloznacznych * i ?. Cytowanie nazw pól może być konieczne, gdy używane są symbole wieloznaczne. |
Przykład 1:
Qualify B;
LOAD A,B from x.csv;
LOAD A,B from y.csv;
Dwie tabele x.csv i y.csv są powiązane tylko przez A. Rezultatem będą trzy pola: A, x.B, y.B.
Przykład 2:
W przypadku nieznanej bazy danych zwykle warto zacząć od upewnienia się, że powiązano tylko jedno pole lub kilka pól, jak pokazano na następującym przykładzie:
qualify *;
unqualify TransID;
SQL SELECT * from tab1;
SQL SELECT * from tab2;
SQL SELECT * from tab3;
Na potrzeby asocjacji między tabelami tab1, tab2 i tab3 będzie użyte tylko TransID.