Archives par mot-clé : -669

CODE RETOUR -669

THE OBJECT CANNOT BE EXPLICITLY DROPPED. REASON reason-code

Explication :
L’instruction DROP a échoué.

reason-code
La raison du message ou du code SQL, indiquée par l’une des valeurs suivantes :

0001L’une des instructions suivantes a tenté de supprimer une table qui réside dans un espace table partitionné explicitement défini (non UTS) :
– L’instruction DROP TABLE
– Une instruction DROP qui provoque la suppression d’une table dépendante

SQLCODE -669 avec le code anomalie 0001 peut être émis lorsque l’une des instructions répertoriées ci-dessus tente de supprimer une table qui réside dans un espace table partitionné explicitement défini ou un espace table partitionné par croissance.
0002L’instruction DROP INDEX a tenté de supprimer un index dont Db2 a besoin pour conserver les conditions suivantes :
– La contrainte de clé primaire sur une table
– Une contrainte de clé unique sur une table
– Une contrainte référentielle sur une table
– L’unicité d’une colonne ROWID
– Une colonne XML définie sur une table

Un index requis par le système ne peut pas être supprimé à l’aide de l’instruction DROP INDEX.
0003L’instruction DROP INDEX a tenté de supprimer un index créé implicitement pour une table définie avec une organisation HASH.
0004L’instruction DROP TABLE a tenté de supprimer une table implicitement créée pour une colonne XML.
0005L’instruction DROP TABLESPACE a tenté de supprimer un espace table implicitement créé pour une table contenant une colonne XML.
0006L’instruction DROP a tenté de supprimer une table auxiliaire, un index auxiliaire ou un espace table auxiliaire impliqué dans le clonage.
0007L’instruction DROP TABLESPACE ou l’instruction DROP DATABASE a tenté de supprimer un espace table ou une base de données contenant une table d’accélérateur uniquement.
0008L’instruction DROP INDEX a tenté de supprimer un index utilisé pour la définition d’une clé étrangère pour une contrainte référentielle temporelle.

Action du système :
La déclaration ne peut pas être traitée. L’objet n’est pas supprimé.

Réponse du programmeur :
Prenez l’action corrective appropriée en fonction de la valeur du code de raison :

0001La table d’un espace table partitionné (non UTS) ne peut être supprimée implicitement que lorsque l’espace table lui-même est supprimé.
0002Si vous ne souhaitez pas conserver la clé primaire, la clé unique ou la contrainte référentielle, utilisez la clause DROP CONSTRAINT de l’instruction ALTER TABLE pour supprimer la clé primaire ou la contrainte unique. Si l’index a été créé uniquement pour appliquer la clé primaire ou unique, l’index sera supprimé. Si ce n’est pas le cas, l’instruction DROP INDEX pourrait alors être traitée. Un index pour une colonne ROWID ne peut être supprimé qu’en supprimant la table.
0003L’index ne peut être supprimé implicitement que lorsque la table associée qui contient la colonne XML est supprimée. Si l’erreur concerne une table organisée par hachage, l’index de débordement de hachage associé ne peut pas être supprimé. La suppression de l’organisation de hachage supprimera automatiquement l’index de débordement de hachage.
0004La table peut être supprimée implicitement uniquement lorsque la table associée contenant la colonne XML est supprimée.
0005L’espace table peut être supprimé implicitement uniquement lorsque la table associée contenant la colonne XML est supprimée.
0006Une table auxiliaire, un index auxiliaire ou un espace table auxiliaire impliqué dans le clonage ne peut être supprimé implicitement que lorsque la table associée contenant la colonne XML est supprimée.
0007L’espace table ou la base de données ne peut être supprimé explicitement que lorsque la table d’accélérateur uniquement est supprimée.
0008L’index ne peut être supprimé qu’après la suppression de la contrainte référentielle temporelle.

SQLSTATE :
42917