Commande INDEX

Information de concept

Indexation des enregistrements

Crée un index pour une table Analytics permettant d'accéder aux enregistrements par ordre séquentiel plutôt que physique.

Syntaxe

INDEX {<ON> champ_clé <D> <...n>|<ON> ALL <EXCLUDE nom_champ <...n>>} TO nom_fichier <IF test> <WHILE test> <FIRST plage|NEXT plage> <OPEN> <ISOLOCALE code_paramètres_régionaux>

Paramètres

Nom Description
ON champ_clé D <...n> | ON ALL

Le ou les champs clés ou bien l'expression à utiliser pour l'indexation.

Vous pouvez indexer en fonction de tout type de champ, y compris les champs calculés et les expressions ad hoc, et ce quel que soit le type de données.

  • ON champ_clé utilisez le(s) champ(s) spécifié(s)

    Si vous indexez en fonction de plusieurs champs, vous créez une indexation imbriquée dans la table. L'ordre de l'imbrication suit l'ordre dans lequel vous indiquez les champs.

    Incluez D pour indexer le champ clé dans l'ordre décroissant. L'ordre d'indexation par défaut est croissant.

  • ON ALL utilisez tous les champs dans la table

    Si vous indexez en fonction de tous les champs dans une table, vous créez une indexation imbriquée. L'ordre de l'imbrication suit l'ordre d'apparition des champs dans le format de table.

    Un ordre d'indexation croissant est la seule option pour ON ALL.

EXCLUDE nom_champ

optionnel

Valide uniquement lors de l'indexation à l'aide de ON ALL.

Le ou les champs à exclure de la commande. EXCLUDE vous permet de personnaliser ON ALL, en excluant les champs spécifiés.

EXCLUDE doit suivre immédiatement ON ALL. Par exemple :

ON ALL EXCLUDE champ_1 champ_2
TO nom_fichier

Le nom de l'index et du fichier d'index associé. Le fichier d'index est créé avec une extension .INX.

Remarque

Dans l'interface utilisateur Analytics, la longueur des noms des index est limitée à 64 caractères alphanumériques. Le nom peut inclure le caractère de soulignement ( _ ), mais aucun autre caractère spécial ni espace. Le nom ne peut pas commencer par un chiffre.

IF test

optionnel

Expression conditionnelle qui doit être vraie afin de traiter chaque enregistrement. La commande est exécutée uniquement sur les enregistrements remplissant la condition.

Remarque

La condition IF est évaluée uniquement par rapport aux enregistrements restant dans une table après application des options relevant du champ d'application (WHILE, FIRST, NEXT).

WHILE test

optionnel

Expression conditionnelle qui doit être vraie afin de traiter chaque enregistrement. La commande est exécutée jusqu'à ce que la condition soit évaluée comme fausse ou lorsque la fin de la table est atteinte.

Remarque

Si vous utilisez WHILE conjointement avec FIRST ou NEXT, le traitement des enregistrements s'arrête dès qu'une limite est atteinte.

FIRST plage | NEXT plage

optionnel

Le nombre d'enregistrements à traiter :

  • FIRST pour commencer le traitement à partir du premier enregistrement jusqu'à ce que le nombre d'enregistrements spécifié soit atteint
  • NEXT pour commencer le traitement à partir de l'enregistrement actuellement sélectionné jusqu'à ce que le nombre d'enregistrements spécifié soit atteint

Utilisez plage pour indiquer le nombre d'enregistrements à traiter.

Si vous ignorez FIRST et NEXT, tous les enregistrements sont traités par défaut.

OPEN

optionnel

Ouvrez la table et appliquez l'index à la table.

ISOLOCALE code_paramètres_régionaux

optionnel

Remarque

Applicable dans l'édition Unicode d'Analytics uniquement.

Paramètre système local au format langue_pays. Par exemple, pour utiliser le français canadien, saisissez fr_ca.

Utilisez les codes suivants :

  • langue code linguistique de la norme ISO 639
  • pays code pays de la norme ISO 3166

    Si vous n'indiquez pas de code pays, c'est le pays par défaut pour la langue qui est utilisé.

Si vous n'utilisez pas ISOLOCALE, ce sont les paramètres système régionaux par défaut qui sont utilisés.

Exemples

Créer un index et ouvrir la table

Dans la table Fournisseur, vous créez un index sur le champ Ville fournisseur et ouvrez la table :

OPEN Fournisseur
INDEX ON Ville_fournisseur to "IndexVille" OPEN

Créer un index et l'appliquer sur une table

Dans la table Fournisseur, vous créez un index sur le champ Ville fournisseur. Ultérieurement, vous appliquez l'index à la table :

OPEN Fournisseur
INDEX ON Ville_fournisseur to "IndexVille"
,
,
,
SET INDEX TO "IndexVille"

Remarques

Pour plus d'informations sur le fonctionnement de cette commande, consultez Indexation des enregistrements.

La séquence de tri appliquée par la commande INDEX

La commande INDEX applique la séquence de tri spécifiée dans l'option Séquence de tri (Outils > Options> Table). Les séquences de tri par défaut sont présentées ci-dessous.

Pour des informations détaillées, consultez la section L'option Ordre de tri et les séquences de tri.

Édition Analytics

Ordre de tri par défaut

Séquence de tri associée

Non Unicode

Système par défaut

(ASCII)

Nombres, puis majuscules, puis minuscules :

0, 1, 2... A, B, C... a, b, c...

Exemple : « Z » est trié avant « a ».

Unicode

Mélanger les langages (UCA)

(algorithme de classement Unicode)

Nombres, puis minuscules et majuscules mélangées les unes avec les autres :

0, 1, 2... a, A, b, B, c, C...

Exemple : « a » est trié avant « Z ».

Respect de la casse

La fonction INDEX est sensible à la casse. Selon l'édition d'Analytics que vous utilisez (non-Unicode ou Unicode), la casse des chaînes de caractères peut affecter l'indexation.

Vous pouvez utiliser la fonction UPPER( ) conjointement à INDEX si vous ne souhaitez pas que la casse affecte l'indexation.

INDEX ON UPPER(key_field) TO "Fichier_indexation"