Qualify
De opdracht Qualify wordt gebruikt om de kwalificatie van veldnamen in te schakelen. Dit houdt in dat veldnamen de tabelnaam als prefix krijgen.
Syntaxis:
Qualify *fieldlist
De automatische join van velden met dezelfde naam in verschillende tabellen kan worden voorkomen met behulp van de opdracht qualify. Hiermee wordt de veldnaam gekwalificeerd met de tabelnaam ervan. Bij kwalificatie worden de veldnamen gewijzigd wanneer ze in een tabel worden aangetroffen. De nieuwe naam heeft de vorm tablename.fieldname. Tablename is gelijk aan het label van de huidige tabel of, als er geen label is, aan de naam die verschijnt achter from in LOAD- en SELECT-opdrachten.
De kwalificatie vindt plaats voor alle velden die worden geladen na de opdracht qualify.
Kwalificatie is standaard altijd uitgeschakeld aan het begin van een script. Kwalificatie van een specifiek veld kan op elk moment worden geactiveerd met behulp van de instructie qualify. Kwalificatie kan op elk moment worden uitgeschakeld met behulp van de instructie Unqualify.
Argumenten:
Argument | Beschrijving |
---|---|
*fieldlist | Een door komma's gescheiden lijst met velden waarvoor kwalificatie moet worden ingeschakeld. Met een * als veldlijst worden alle velden aangeduid. De jokertekens * en ? zijn toegestaan in de veldnamen. Het gebruik van aanhalingstekens rond veldnamen kan nodig zijn bij het gebruik van jokertekens. |
Voorbeeld 1:
Qualify B;
LOAD A,B from x.csv;
LOAD A,B from y.csv;
De twee tabellen x.csv en y.csv zijn alleen gekoppeld via A. Dit leidt tot drie velden: , , . A, x.B, y.B.
Voorbeeld 2:
In een onbekende database is het vaak handig om in het begin alleen een enkel veld of een paar velden te koppelen, zoals in het volgende voorbeeld:
qualify *;
unqualify TransID;
SQL SELECT * from tab1;
SQL SELECT * from tab2;
SQL SELECT * from tab3;
Alleen TransID zal worden gebruikt voor associaties tussen de tabellen tab1, tab2 en tab3.