Aller au contenu

Service SQL IBM i (AS/400) · Procédure

QSYS2.CHANGE_USER_SPACE_ATTRIBUTES

Modifier les attributs d'un espace utilisateur

Procédure qui modifie les attributs d'un espace utilisateur (*USRSPC) : taille, extensibilité, valeur initiale et taille de transfert.

À quoi ça sert

Cette procédure change les attributs de l'espace utilisateur USER_SPACE (bibliothèque USER_SPACE_LIBRARY, '*LIBL' par défaut). On peut modifier sa taille (SIZE), le rendre extensible ou non (EXTENDABLE), fixer la valeur initiale (INITIAL_VALUE) et la taille de transfert (TRANSFER_SIZE).

Réduire la taille tronque l'espace : le contenu au-delà est perdu. L'exemple d'IBM tronque un espace à 200 octets. Les attributs se relisent avec QSYS2.USER_SPACE_INFO.

Résultat réel sur un IBM i 7.5

Ce que nous avons exécuté :

CALL QSYS2.CHANGE_USER_SPACE_ATTRIBUTES(USER_SPACE => 'DEMOSPC', USER_SPACE_LIBRARY => 'JOBISQL', SIZE => 4096, EXTENDABLE => 'YES');
SELECT USER_SPACE_LIBRARY, USER_SPACE, SIZE, EXTENDABLE FROM QSYS2.USER_SPACE_INFO WHERE USER_SPACE_LIBRARY = 'JOBISQL' AND USER_SPACE = 'DEMOSPC'

Ce que l'IBM i a renvoyé le 01/10/2026 (1 ligne au plus) :

USER_SPACE_LIBRARY USER_SPACE SIZE EXTENDABLE
JOBISQL UTIL907 4096 YES

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

Tronquer l'espace utilisateur USRSPC1 de APPLIB à une taille de 200 octets.

-- Description: Truncate user space USRSPC1 in APPLIB to a size of 200 bytes. 
    CALL QSYS2.CHANGE_USER_SPACE_ATTRIBUTES(USER_SPACE => 'USRSPC1', 
                                        USER_SPACE_LIBRARY => 'APPLIB',
                                        SIZE => 200);

Bon à savoir

La troncature est définitive : sauvegardez ou relisez le contenu avant de réduire la taille d'un espace utilisateur.

Paramètres

ParamètreTypePar défautSignification
USER_SPACE VARCHAR(10) obligatoire Nom de l'espace utilisateur
USER_SPACE_LIBRARY VARCHAR(10) '*LIBL' Bibliothèque de l'espace utilisateur
SIZE INTEGER NULL Taille
EXTENDABLE VARCHAR(3) NULL Extensible
INITIAL_VALUE BINARY(1) NULL Valeur initiale
TRANSFER_SIZE INTEGER NULL Taille du transfert