Archives par mot-clé : -607

CODE RETOUR -607

OPERATION OR OPTION operation IS NOT DEFINED FOR THIS OBJECT

Explication
L’opération ou l’option ne peut pas être exécutée sur l’objet spécifié dans l’instruction SQL.

Par exemple, ce code SQL peut être émis pour les situations suivantes :

  • La propriété de la plupart des objets système ne peut pas être transférée si leur PROPRIÉTAIRE est SYSIBM ou si leur schéma commence par SYS.
  • LOGGED et NOT LOGGED ne peuvent pas être définis lorsque vous créez ou modifiez un espace table dans la base de données du catalogue Db2 (DSNDB06).
  • Les objets de catalogue et de répertoire ne peuvent pas être clonés.
  • Les opérations de modification de données telles que celles-ci ne peuvent pas être effectuées sur une table de répertoire :
    1. ALTER TABLE
    2. ALTER TABLESPACE
    3. DELETE
    4. MERGE
    5. UPDATE
    6. RENAME TABLE
  • Les opérations suivantes ne sont pas autorisées pour un index sur une table de répertoire :
    1. ALTER INDEX
    2. CREATE INDEX
    3. DROP INDEX
    4. RENAME INDEX
  • Une table de répertoire ne peut pas être :
    1. La table parente dans une relation référentielle
    2. La table de déclenchement dans un déclencheur
  • Une instruction ALTER TABLE qui spécifie une opération ne peut pas être spécifiée sur une table de catalogue.
  • Une spécification de période ne doit pas être utilisée si la référence de table n’est pas une table.
  • L’opération est une instruction SELECT et une cible de l’opération est un objet de répertoire. Db2 ne peut pas convertir l’instruction SELECT au niveau d’isolement UR. Par exemple, l’instruction SQL suivante ne peut pas être exécutée car l’opération SELECT sur l’objet de répertoire SYSIBM.SYSLGRNX ne peut pas être convertie au niveau d’isolement UR :

UPDATE T1 SET C1 = (SELECT C1 FROM T1) WHERE EXISTS(SELECT LGRDBID FROM SYSIBM.SYSLGRNX);

  • FL 508 Une instruction ALTER TABLESPACE qui inclut une clause MOVE TABLE ne doit pas spécifier un espace table de catalogue ou de répertoire.

Action du système
L’instruction ne peut pas être traitée.

Réponse du programmeur
Si une option de l’instruction SQL n’est pas autorisée pour cet objet, modifiez l’instruction SQL et soumettez à nouveau l’instruction. Si une opération n’est pas définie pour l’objet, l’instruction ne peut pas être exécutée.

SQLSTATE
42832