Aller au contenu

RMVPFCST

Enlever contrainte fich phys

En bref

La commande RMVPFCST permet d'enlever une ou plusieurs associations de contrainte existant entre des fichiers physiques.

RMVPFCST se lit RMV (Retirer) + PFCST. Sur IBM i, le nom d'une commande associe presque toujours un verbe et un objet.

Syntaxe minimale

RMVPFCST FILE(…) CST(…)

Paramètres

  • FILE Fichier obligatoire
  • CST Nom de la contrainte obligatoire
  • TYPE Type de contrainte
  • RMVCST Enlever contrainte

Astuce : dans une session 5250, tapez RMVPFCST puis F4 pour l'invite de saisie, et F1 sur un paramètre pour son aide.

Aide IBM i de la commande

Texte du F1, IBM i 7.5 en français (bibliothèque QSYS)

Où s'exécute : Tous les environnements (*ALL)
Compatible multitâche : Sous conditions

La commande RMVPFCST permet d'enlever une ou plusieurs associations de contrainte existant entre des fichiers physiques. A l'aide de cette commande, vous pouvez enlever les contraintes référentielles, les contraintes uniques, les contraintes de clé primaire et les contraintes de vérification.

Restrictions :

  • Vous devez disposer du droit de gestion de l'objet (*OBJMGT) ou du droit de modification des attributs de l'objet (*OBJALTER) sur le fichier physique indiqué pour le paramètre Fichier (FILE).
  • Vous devez disposer du droit d'exécution (*EXECUTE) sur la bibliothèque contenant le fichier physique.
  • Vous ne pouvez pas enlever une association de contrainte pour un fichier ouvert par votre travail utilisateur.
  • Cette commande est à unités d'exécution protégées sous certaines conditions. Dans le cas de travaux à unités d'exécution multiples, cette commande n'admet pas l'utilisation d'unités d'exécution multiples pour les fichiers répartis. Elle échoue dans le cas de fichiers répartis utilisant une base de données relationnelle de type *SNA.

Paramètres

Mot-clé Description Valeurs possibles Remarques
FILE Fichier Nom d'objet qualifié Obligatoire, positionnel 1
Qualificatif 1: Fichier Nom
Qualificatif 2: Biblio Nom, *LIBL, *CURLIB
CST Nom de la contrainte Valeurs uniques: *ALL, *CHKPND
Autres valeurs (jusqu'à 300 répétitions): Valeur caractère
Obligatoire, positionnel 2
TYPE Type de contrainte *ALL, *REFCST, *UNQCST, *PRIKEY, *CHKCST Facultatif, positionnel 3
RMVCST Enlever contrainte *RESTRICT, *REMOVE, *KEEP Facultatif

Fichier (FILE)

Indique le fichier physique pour lequel la contrainte doit être enlevée. Dans le cas d'une contrainte référentielle, il ne peut s'agir que d'un fichier dépendant.

Ce paramètre est obligatoire.

Qualificatif 1 : Fichier

nom
Indiquez le nom du fichier physique.

Qualificatif 2 : Biblio

*LIBL
La recherche porte sur toutes les bibliothèques de la liste des bibliothèques de l'unité d'exécution en cours jusqu'à ce que la première occurrence soit trouvée.
*CURLIB
La recherche porte sur la bibliothèque en cours du travail. Si celle-ci n'est pas précisée, QGPL est utilisée par défaut.
nom
Indiquez le nom de la bibliothèque sur laquelle doit porter la recherche.

Nom de la contrainte (CST)

Indique le nom de l'association de contrainte à enlever.

Ce paramètre est obligatoire.

Valeurs uniques

*ALL
Toutes les associations de contrainte du fichier indiqué par le paramètre FILE sont enlevées.
*CHKPND
Seules les associations de contrainte qui peuvent ne pas être satisfaites par certains enregistrements (vérification en instance) sont enlevées. L'état Vérification en instance est actif lorsque le système n'a pas encore déterminé si les valeurs du fichier dépendant sont toutes correctes par rapport à sa clé parente ou si les valeurs d'enregistrement pour l'expression de contrainte de vérification sont admises. Seules les contraintes référentielles et de vérification peuvent être en instance de vérification.

Autres valeurs (jusqu'à 300 répétitions)

valeur-caractères
Indiquez le nom de la contrainte.

Remarque :La casse est conservée lorsque des minuscules sont indiquées.

Type de contrainte (TYPE)

Indique le type de l'association de contrainte définie par le paramètre CST, qui est en cours de retrait du fichier physique.

*ALL
Tous les types de contraintes de clé primaire et uniques sont enlevés. Vous trouverez ci-après des exemples de dépendances du paramètre CST.
  • CST(*ALL) TYPE(*ALL) - Toutes les contraintes sont enlevées.
  • CST(*CHKPND) TYPE(*ALL) - Toutes les contraintes référentielles et de vérification en instance de vérification sont enlevées.
  • CST(ABC) TYPE(*ALL) - La contrainte ABC est enlevée.

Remarque :Cette valeur n'est pas prise en compte pour les contraintes référentielles lorsque le paramètre RMVCST est précisé.

*REFCST
Les contraintes référentielles sont enlevées. Vous trouverez ci-après des exemples de dépendances du paramètre CST.
  • CST(*ALL) TYPE(*REFCST) - Toutes les contraintes référentielles sont enlevées.
  • CST(*CHKPND) TYPE(*REFCST) - Toutes les contraintes référentielles en instance de vérification sont enlevées.
  • CST(ABC) TYPE(*REFCST) - La contrainte référentielle ABC est enlevée.
*UNQCST
Les contraintes uniques sont enlevées.

Remarque :Si la contrainte unique est une contrainte à clé primaire, elle est enlevée mais la définition de la clé primaire et le chemin d'accès au fichier sont conservés.

Vous trouverez ci-après des exemples de dépendances du paramètre CST.

  • CST(*ALL) TYPE(*UNQCST) - Toutes les contraintes uniques (à l'exception des contraintes de clé primaire) sont enlevées.
  • CST(*CHKPND) TYPE(*UNQCST) - Incorrect ; les contraintes uniques ne peuvent pas être en instance de vérification.
  • CST(ABC) TYPE(*UNQCST) - La contrainte unique ABC est enlevée (à moins qu'il ne s'agisse d'une contrainte de clé primaire).
*PRIKEY
Les contraintes de clé primaire sont enlevées. Vous trouverez ci-après des exemples de dépendances du paramètre CST.
  • CST(*ALL) TYPE(*PRIKEY) - La contrainte de clé primaire est enlevée.
  • CST(*CHKPND) TYPE(*PRIKEY) - Non accepté ; les contraintes de clé primaire ne peuvent pas être en instance de vérification.
  • CST(ABC) TYPE(*PRIKEY) - La contrainte de clé primaire ABC est enlevée.
*CHKCST
Les contraintes de vérification sont enlevées. Vous trouverez ci-après des exemples de dépendances du paramètre CST.
  • CST(*ALL) TYPE(*CHKCST) - Toutes les contraintes de vérification sont enlevées.
  • CST(*CHKPND) TYPE(*CHKCST) - Toutes les contraintes de vérification en instance de vérification sont enlevées.
  • CST(XYZ) TYPE(*CHKCST) - La contrainte de vérification XYZ est enlevée.

Enlever contrainte (RMVCST)

Indique dans quelle mesure une association de contrainte appliquée au fichier dépendant est enlevée lorsqu'une contrainte de clé primaire ou une contrainte unique qui est également une clé parente est supprimée du fichier parent d'une contrainte référentielle.

Remarque :Ce paramètre est ignoré si *REFCST est indiqué pour le paramètre Type de contrainte (TYPE).

*RESTRICT
La contrainte n'est pas enlevée si elle est définie ou établie entre le fichier parent et le fichier dépendant. Ni le chemin d'accès de la clé associée, ni la clé associée du fichier dépendant ne sont enlevés.
*REMOVE
La contrainte existant entre le fichier parent et le fichier dépendant est enlevée ainsi que sa définition. La clé associée correspondante l'est également. Le chemin d'accès de la clé associée du fichier dépendant est enlevé s'il existe et s'il n'est pas partagé.
*KEEP
La contrainte existant entre le fichier parent et le fichier dépendant est enlevée mais pas sa définition. La clé associée du fichier dépendant et son chemin d'accès ne sont pas enlevés.

Exemples

Dans ces exemples, la contrainte unique UNIQUE_Department_NUMBER et la contrainte référentielle EMPLOYEE_Department ont été ajoutées aux fichiers à l'aide des commandes ADDPFCST suivantes :

ADDPFCST   FILE(MYLIB/DEPARTMENTS)  TYPE(*UNQCST)
           KEY(DEPTNUM)  CST(UNIQUE_Department_NUMBER)
ADDPFCST   FILE(MYLIB/PERSONNEL)  TYPE(*REFCST)  KEY(DEPTNO)
           CST(EMPLOYEE_Department)

Exemple 1 : Retrait d'une contrainte unique

RMVPFCST   FILE(MYLIB/DEPARTMENTS)  CST(*ALL)  TYPE(*ALL)

Cette commande retire la contrainte unique UNIQUE_Department_NUMBER du fichier DEPARTMENTS situé dans la bibliothèque MYLIB.

Exemple 2 : Retrait d'une contrainte référentielle

RMVPFCST   FILE(MYLIB/PERSONNEL)  CST(EMPLOYEE_Department)
           TYPE(*REFCST)  RMVCST(*RESTRICT)

Cette commande retire la contrainte référentielle EMPLOYEE_Department du fichier dépendant PERSONNEL qui se trouve dans la bibliothèque MYLIB. Dans la mesure où le fichier parent n'a pas encore été défini (le paramètre PRNFILE n'a pas été indiqué dans la commande ADDPFCST), le retrait n'est pas restreint.

Messages d'erreur

Messages *ESCAPE

CPF32B1
La contrainte n'a pas été supprimée du fichier &1.

© Copyright IBM Corp. Texte d'aide reproduit à des fins de formation.