Service SQL IBM i (AS/400) · Fonction table
QSYS2.USER_INDEX_ENTRIES
Entrées d'un index utilisateur
Fonction de table qui lit les entrées d'un index utilisateur (*USRIDX) : position, clé et contenu, en caractères ou en binaire.
À quoi ça sert
USER_INDEX_ENTRIES renvoie une ligne par entrée d'un index utilisateur, avec la position (ORDINAL_POSITION), la clé et le contenu de l'entrée, chacun sous deux formes : texte (KEY, ENTRY) et binaire (KEY_BINARY, ENTRY_BINARY).
Les paramètres sont le nom de l'index (USER_INDEX) et sa bibliothèque (USER_INDEX_LIBRARY, par défaut *LIBL). Elle permet d'examiner le contenu d'un index utilisé par une application, par exemple pour le déboguer, sans écrire de programme.
Les attributs de l'index (longueur de clé, nombre d'entrées) se lisent dans USER_INDEX_INFO.
Résultat réel sur un IBM i 7.5
Ce que nous avons exécuté :
SELECT * FROM TABLE(QSYS2.USER_INDEX_ENTRIES(USER_INDEX => 'DEMOIDX', USER_INDEX_LIBRARY => 'JOBISQL')) X
Ce que l'IBM i a renvoyé le 01/10/2026 (3 lignes au plus) :
| ORDINAL_POSITION Position ordinale | USER_INDEX_LIBRARY Bibliothèque de l'index utilisateur | USER_INDEX Nom de l'index utilisateur | KEY Clé | KEY_BINARY Clé au format binaire | ENTRY Entrée | ENTRY_BINARY Entrée au format binaire |
|---|---|---|---|---|---|---|
| 1 | JOBISQL | UTIL908 | 00001 | F0F0F0F0F1 | Lyon | D3A896954040404040404040404040404040404040404040404040404040404040404040404040404040404040 |
| 2 | JOBISQL | UTIL908 | 00002 | F0F0F0F0F2 | Nantes | D58195A385A2404040404040404040404040404040404040404040404040404040404040404040404040404040 |
| 3 | JOBISQL | UTIL908 | 00003 | F0F0F0F0F3 | Lille | D38993938540404040404040404040404040404040404040404040404040404040404040404040404040404040 |
Données anonymisées : les noms de système, de profils, de
bibliothèques, de postes et les adresses IP ont été remplacés. Les objets du schéma
JOBISQL sont des objets de démonstration créés pour ce site.
L'exemple d'IBM
Examiner toutes les entrées de l'index utilisateur IX1 de la bibliothèque TESTLIB.
-- Description: Look at all the entries in user index IX1 in TESTLIB.
SELECT * FROM TABLE(QSYS2.USER_INDEX_ENTRIES(
USER_INDEX => 'IX1',
USER_INDEX_LIBRARY => 'TESTLIB'))
ORDER BY ORDINAL_POSITION;
Paramètres
| Paramètre | Type | Par défaut | Signification |
|---|---|---|---|
USER_INDEX |
VARCHAR(10) | obligatoire | Nom de l'index utilisateur |
USER_INDEX_LIBRARY |
VARCHAR(10) | '*LIBL' | Bibliothèque de l'index utilisateur |
Colonnes renvoyées (7)
Afficher les 7 colonnes
| Colonne | Type | Signification |
|---|---|---|
ORDINAL_POSITION |
INTEGER | Position ordinale |
USER_INDEX_LIBRARY |
VARCHAR(10) | Bibliothèque de l'index utilisateur |
USER_INDEX |
VARCHAR(10) | Nom de l'index utilisateur |
KEY |
VARCHAR(2000) | Clé |
KEY_BINARY |
BINARY VARYING | Clé au format binaire |
ENTRY |
VARCHAR(2000) | Entrée |
ENTRY_BINARY |
BINARY VARYING | Entrée au format binaire |