Service SQL IBM i (AS/400) · Fonction table
QSYS2.REMOVE_USER_INDEX_ENTRY
Supprimer des entrées d'un index utilisateur
Retire des entrées d'un index utilisateur (*USRIDX) selon une opération de comparaison sur la clé, et renvoie la liste des entrées supprimées.
À quoi ça sert
Cette fonction de table supprime des entrées d'un index utilisateur désigné par USER_INDEX et USER_INDEX_LIBRARY. Le paramètre OPERATION indique le critère de comparaison (par exemple LT pour inférieur à), appliqué à REMOVE_VALUE ; REMOVE_VALUE_END sert pour une plage de valeurs.
MAX_REMOVE limite le nombre d'entrées supprimées. La fonction renvoie une ligne par entrée retirée (REMOVED_ENTRY et sa version binaire REMOVED_ENTRY_BINARY), ce qui permet de garder une trace de ce qui a été supprimé.
Résultat réel sur un IBM i 7.5
Ce que nous avons exécuté :
CALL QSYS2.ADD_USER_INDEX_ENTRY(USER_INDEX => 'DEMOIDX3', USER_INDEX_LIBRARY => 'JOBISQL', REPLACE => 'YES', ENTRY => 'Entrée à retirer', KEY => '09999');
SELECT * FROM TABLE(QSYS2.REMOVE_USER_INDEX_ENTRY(USER_INDEX => 'DEMOIDX3', USER_INDEX_LIBRARY => 'JOBISQL', OPERATION => 'EQ', REMOVE_VALUE => '09999')) X
Ce que l'IBM i a renvoyé le 01/10/2026 (1 ligne au plus) :
| ORDINAL_POSITION Position ordinale | USER_INDEX_LIBRARY Bibliothèque de l'index utilisateur | USER_INDEX Nom de l'index utilisateur | REMOVED_ENTRY Entrée retirée | REMOVED_ENTRY_BINARY Entrée retirée en binaire |
|---|---|---|---|---|
| 1 | JOBISQL | UTIL913 | 09999Entrée à retirer | F0F9F9F9F9C595A399C085407C409985A389998599 |
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
Supprimer toutes les entrées d'index dont la clé est inférieure à '00173'.
-- Description: Remove all index entries with a key value less than '00173'.
SELECT * FROM TABLE(QSYS2.REMOVE_USER_INDEX_ENTRY(USER_INDEX => 'USRIX1',
USER_INDEX_LIBRARY => 'APPLIB',
OPERATION => 'LT',
REMOVE_VALUE => '00173'));
Bon à savoir
La suppression est effective dès l'exécution de la requête. Testez d'abord votre critère avec QSYS2.USER_INDEX_ENTRIES pour voir quelles entrées seraient concernées.
Paramètres
| Paramètre | Type | Par défaut | Signification |
|---|---|---|---|
USER_INDEX |
VARCHAR(10) | obligatoire | Nom de l'index utilisateur |
USER_INDEX_LIBRARY |
VARCHAR(10) | obligatoire | Bibliothèque de l'index utilisateur |
OPERATION |
VARCHAR(7) | obligatoire | Opération |
REMOVE_VALUE |
VARCHAR(2000) | NULL | Valeur de l'entrée à retirer |
REMOVE_VALUE_END |
VARCHAR(2000) | NULL | Fin de la plage de valeurs à retirer |
MAX_REMOVE |
INTEGER | - 1 | Nombre maximal d'entrées à supprimer |
Colonnes renvoyées (5)
Afficher les 5 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 |
REMOVED_ENTRY |
VARCHAR(2000) | Entrée retirée |
REMOVED_ENTRY_BINARY |
BINARY VARYING | Entrée retirée en binaire |