COLUMN table-name.column-name CANNOT BE DROPPED. REASON = reason-code.
Explication :
Une tentative de suppression de la colonne spécifiée a été effectuée, mais la colonne ne peut pas être supprimée pour la raison indiquée.
table-name
Le nom de la table.
column-name
Le nom de la colonne.
reason-code
Une valeur numérique qui indique la raison pour laquelle l’instruction ne peut pas être exécutée.
1
La colonne ne peut pas être supprimée car elle fait partie de la clé de hachage ou de la clé de partitionnement.
3
La colonne ne peut pas être supprimée car il s’agit d’une colonne d’étiquette de sécurité.
4
La colonne ne peut pas être supprimée car elle fait partie d’un point.
5
La colonne ne peut pas être supprimée car la table est une table temporelle de période système ou une table activée pour l’archivage.
6
La colonne ne peut pas être supprimée car il s’agit d’une colonne d’une table d’historique ou d’une table d’archive.
8
La table, table-name, est définie avec une procédure d’édition ou une procédure de validation.
9
La table, table-name, est référencée (directement ou indirectement) dans la définition d’une table de requête matérialisée.
10
Une contrainte de vérification est définie sur la table, table-name.
11
Un index étendu est défini sur la table, table-name.
12
Un déclencheur est défini sur la table, table-name ou un déclencheur INSTEAD OF est défini sur une vue qui dépend de la table.
13
Une autorisation de ligne dépend de la table, table-name.
14
Un masque de colonne dépend de la table, table-name.
15
Une fonction de table SQL dépend de la table, table-name.
Action du système :
L’instruction ne peut pas être traitée.
Réponse du programmeur :
Effectuez l’action qui correspond à la valeur du reason-code :
1
- Si la colonne fait partie d’une clé de partitionnement, supprimez la table et créez-la à nouveau sans la colonne qui doit être supprimée et redéfinissez la clé de partitionnement.
- Si la colonne fait partie d’une clé de hachage :
- Modifiez la table pour supprimer l’organisation de hachage.
- Déposez la colonne.
- Exécutez l’utilitaire REORG sur l’espace table contenant afin que l’opération de suppression de colonne prenne effet.
- Modifiez la table pour ajouter l’organisation de hachage.
Comme alternative, envisagez de supprimer la table et de la recréer sans la colonne qui doit être supprimée.
3
Supprimez la table et créez-la à nouveau, sans créer la colonne d’étiquette de sécurité.
4
Supprimez la table et créez-la à nouveau, sans créer la colonne qui doit être supprimée.
5
Modifiez le tableau pour supprimer la gestion des versions des données de période système ou désactiver l’archivage. (Émettez ALTER TABLE avec la clause DROP VERSIONING ou DISABLE ARCHIVE.) Supprimez ensuite la colonne de la table.
Si le contrôle de version ou l’archivage de la période système est toujours nécessaire, supprimez la colonne de la table d’historique ou de la table d’archivage précédemment associée. Ajoutez ensuite le contrôle de version ou l’archivage des données de période système à la table.
6
Supprimez la gestion des versions ou l’archivage afin que la table ne soit plus une table d’historique ou une table d’archive. (Utilisez l’instruction ALTER TABLE avec la clause DROP VERSIONING ou DISABLE ARCHIVE sur la table temporelle de période système ou la table activée pour l’archivage associée.) Supprimez ensuite la colonne de la table.
Si la gestion des versions ou l’archivage est toujours nécessaire, supprimez la colonne de la table temporelle de période système ou de la table activée pour l’archivage. Ajoutez ensuite le contrôle de version ou l’archivage à cette table.
8
Si la table est définie avec une procédure de validation, modifiez la table pour supprimer la procédure valide, puis supprimez la colonne. Si la table est définie avec une procédure d’édition, supprimez la table et recréez-la sans la colonne qui doit être supprimée.
9
Supprimez toutes les tables de requêtes matérialisées qui font référence à la table, puis supprimez la colonne.
10
Supprimez et vérifiez les contraintes qui font référence à la table, puis supprimez la colonne.
11
Supprimez tous les index étendus qui font référence à la table, puis supprimez la colonne.
12
Supprimez tous les déclencheurs qui font référence à la table ou aux vues dépendantes, puis supprimez la colonne.
13
Supprimez toutes les autorisations de ligne qui font référence à la table, puis supprimez la colonne.
14
Supprimez tous les masques de colonne qui font référence à la table, puis supprimez la colonne.
15
Supprimez toutes les fonctions de table SQL qui font référence à la table, puis supprimez la colonne.
ETATSQL :
42817