Archives de catégorie : SQLCODE

CODE RETOUR -540

THE DEFINITION OF TABLE nom-table IS INCOMPLETE BECAUSE IT DOES NOT HAVE A PRIMARY INDEX

Explication :

La référence à la table mentionnée est invalide, car celle-ci possède une clé primaire mais pas d’index primaire. La référence est faite dans une clause FOREIGN KEY, ou dans un ordre du SQL LMD.

Action système :

L’ordre ne peut être exécuté.

Réponse programmeur :

Définir un index primaire sur la table, avant de la référencer.

CODE RETOUR -539

TABLE nom-table DOES NOT HAVE A PRIMARY KEY

Explication :

La table mentionnée, nommée comme parent dans une clause FOREIGN KEY, ne peut être définie comme parent car elle ne possède pas de clé primaire.

Action système :

L’ordre ne peut être exécuté.

Réponse programmeur :

Corriger l’ordre pour que la table, nommée comme parent dans la clause FOREIGN KEY, référence une table avec clé primaire, ou définir une clé primaire pour la table à désigner parent.

CODE RETOUR -538

FOREIGN KEY nom DOES NOT CONFORM TO THE DESCRIPTION OF THE PRIMARY KEY OF TABLE nom-table

Explication :

La définition de la clé étrangère n’est pas conforme à celle de la clé primaire de la table mentionnée. Les clés ne possèdent pas le même nombre de colonnes, ou leurs descriptions ne sont pas identiques (même type de donnée, même attribut de longueur, même procédure FIELDPROC). Le ‘nom’ correspond au nom de la contrainte précisée sur la clause FOREIGN KEY, ou le cas échéant, au nom de la première colonne précisée dans la clause.

Action système :

L’ordre ne peut être exécuté.

Réponse programmeur :

Corriger l’ordre pour que les descriptions soient conformes.

CODE RETOUR -537

THE PRIMARY KEY OR FOREIGN KEY CLAUSE IDENTIFIES COLUMN nom-colonne MORE THAN ONCE

Explication :

La colonne ‘nom-colonne’ apparaît plus d’une fois dans la clause PRIMARY KEY ou FOREIGN KEY.

Action système :

L’ordre ne peut être exécuté.

Réponse programmeur :

Corriger l’ordre pour spécifier des noms uniques pour chaque colonne.

CODE RETOUR -536

THE DELETE STATEMENT IS INVALID BECAUSE TABLE nom-table CAN BE AFFECTED BY THE OPERATION

Explication :

Une opération DELETE est tentée sur la table mentionnée, qui est référencée dans une sous-requête.

Si T est la table objet du DELETE, la table mentionnée est l’une des suivantes :

  • Une table dépendante de T dans une relation à règle de destruction CASCADE ou SET NULL,
  • Une table dépendante d’une autre table dans une relation à règle de destruction CASCADE ou SET NULL, pour laquelle les suppressions dans T entraînent une suppression en cascade.

Action système :

L’ordre DELETE ne peut êtreexécuté. Le contenu de la table reste inchangé.

Réponse programmeur :

Ne pas référencer une table dans la sous-requête d’un ordre DELETE lorsque cette table peut être affectée par l’ordre DELETE.

CODE RETOUR -535

INVALID UPDATE OR DELETE WITH WHERE CURRENT OF

Explication :

Une opération UPDATE avec WHERE CURRENT OF ne peut être utilisée pour modifier une clé primaire, ou une opération DELETE avec WHERE CURRENT OF ne peut être utilisée pour une suppression dans une table auto-référencée.

Action système :

L’ordre UPDATE ou DELETE ne peut être exécuté. Le contenu de la table reste inchangé.

Réponse programmeur :

Ne pas modifier une clé primaire par l’intermédiaire de WHERE CURRENT OF d’un ordre UPDATE. Ne pas détruire à partir d’une table auto-référencée par l’intermédiaire de WHERE CURRENT OF d’un ordre DELETE.

CODE RETOUR -534

THE PRIMARY KEY CANNOT BE UPDATED BECAUSE OF MULTIPLE-ROW UPDATE

Explication :

Une opération UPDATE tente de modifier une clé primaire sur des lignes multiples.

Un ordre UPDATE modifiant une clé primaire ne peut pas être utilisé pour modifier plus d’une ligne de la table.

Action système :

L’ordre UPDATE ne peut être exécuté. Le contenu de la table reste inchangé.

Réponse programmeur :

Examiner les conditions de recherche de l’ordre UPDATE en s’assurant qu’au plus une ligne est sélectionnée pour la mise à jour.

CODE RETOUR -533

INVALID MULTIPLE-ROW INSERT

Explication :

Une opération INSERT avec sous-requête tente d’insérer des lignes multiples dans une table auto-référencée.

La sous-requête d’une opération INSERT doit au plus retourner une seule ligne de données.

Action système :

L’ordre INSERT ne peut être exécuté. Le contenu de la table reste inchangé.

Réponse programmeur :

Examiner les conditions de recherche de la sous-requête en s’assurant qu’au plus; une ligne est sélectionnée.

CODE RETOUR -532

THE RELATIONSHIP nom-contrainte RESTRICTS THE DELETION OF ROW WITH ROW WITH RID X’numéro-rid

Explication :

Une opération DELETE tente de détruire une ligne parent et toutes les lignes associées des tables descendantes, alors qu’une règle de suppression RESTRICT a été spécifiée sur une des tables descendantes.

Une ligne de la table ne peut être détruite car elle possède une dépendance dans une relation avec règle de RESTRICT ou CASCADE envers une ligne qui est dépendante dans une relation avec une règle RESTRICT.

Action système :

L’ordre DELETE ne peut être exécuté. La table n’est pas modifiée.

Réponse programmeur :

Examiner la règle de suppression de toutes les tables descendantes pour déterminer la cause du problème. Les tables impliquées peuvent être déterminées grâce au nom de la contrainte de référence ‘nom-contrainte’. La ligne descendante en cause est identifiée par son ‘numéro-rid’ .

CODE RETOUR -531

THE PRIMARY KEY IN A PARENT ROW CANNOT BE UPDATED BECAUSE IT HAS ONE OR MORE DEPENDENT ROWS IN A RELATIONSHIP nom-contrainte

Explication :

Une opération UPDATE tente de modifier la clé primaire d’une ligne alors que celle-ci possède des lignes dépendantes associées.

La valeur de clé primaire d’une ligne parent ne peut pas être modifiée si la ligne parent possède des lignes dépendantes.

Action système :

L’ordre UPDATE ne peut être exécuté. La table n’est pas modifiée.

Réponse programmeur :

Examiner la clé primaire de ta table à mettre à jour et la clé étrangère de la table dépendante afin de déterminer si la valeur de la clé primaire peut être modifiée. Si cet examen n’est pas concluant, vérifier le contenu des deux tables pour déterminer la cause du problème.