Qualify
L'instruction Qualify permet d'activer la qualification des noms de champ, autrement dit les noms de champ se voient octroyer le nom de la table comme préfixe.
Qualify *fieldlist
La jointure automatique entre des champs portant le même nom dans des tables différentes peut être suspendue au moyen de l'instruction qualify qui qualifie le nom du champ par son nom de table. Les champs ainsi qualifiés sont renommés lorsque le script les détecte dans une table. Le nouveau nom suit la forme tablename.fieldname. Tablename correspond à l'étiquette de la table active ou, si aucune étiquette n'existe, au nom figurant après from dans les instructions LOAD et SELECT.
La qualification s'applique à tous les champs chargés après l'instruction qualify.
La qualification est toujours désactivée par défaut au début de l'exécution du script. La qualification d'un nom de champ peut être activée à tout moment à l'aide d'une l'instruction qualify. Elle peut également être désactivée à tout moment à l'aide d'une instruction Unqualify.
Argument | Description |
---|---|
*fieldlist | Liste des champs séparés par des virgules et pour lesquels la qualification doit être activée. L'utilisation du symbole * comme liste de champs signifie inclure tous les champs. Les caractères génériques * et ? sont autorisés dans les noms des champs. Il peut s'avérer nécessaire de mettre les noms des champs entre guillemets lorsque des caractères génériques sont utilisés. |
Qualify B;
LOAD A,B from x.csv;
LOAD A,B from y.csv;
Les deux tables x.csv et y.csv sont uniquement associées via A. Trois champs en résulteront : A, x.B et y.B.
Dans une base de données inconnue, il est généralement utile de s'assurer d'abord que seuls un ou quelques champs sont associés, comme l'illustre cet exemple :
qualify *;
unqualify TransID;
SQL SELECT * from tab1;
SQL SELECT * from tab2;
SQL SELECT * from tab3;
Seul le champ TransID est utilisé pour associer les tables tab1, tab2 et tab3.