THE ALTER STATEMENT CANNOT BE EXECUTED, REASON reason-code
Explication
L’instruction ALTER ne peut pas être exécutée pour la raison indiquée.
reason-code
Une valeur numérique qui indique la raison pour laquelle l’instruction ne peut pas être exécutée.
5
Une instruction ALTER avec une clause PIECESIZE n’est pas autorisée pour un index de partitionnement.
6
Une instruction ALTER avec une clause PIECESIZE 4G n’est pas autorisée pour les index non partitionnés sur une table de taille réduite.
7
Une instruction ALTER avec une clause DSSIZE n’est autorisée que pour les espaces table LOB et universels.
8
Une instruction ALTER avec une clause SEGSIZE est autorisée pour les espaces table universels et les espaces table partitionnés qui utilisent le partitionnement contrôlé par table.
9
Une instruction ALTER avec une clause BUFFERPOOL dans laquelle une taille de page différente est spécifiée n’est autorisée que pour les espaces table LOB et universels (à l’exception des espaces table XML).
10
Une instruction ALTER avec une clause MAXPARTITIONS n’est autorisée que pour les espaces table suivants :
- Espaces de table simples à une seule table
- Espaces table segmentés à table unique
- Espaces table universels utilisant une organisation partition par croissance
11
Une instruction ALTER avec une clause ENDING AT n’est pas autorisée pour un index sur une table de base partitionnée avec des colonnes LOB ou la table elle-même.
12
ALTER INDEX n’est pas autorisé lorsqu’une instruction SQL est en attente
13
ALTER TABLE n’est pas autorisé lorsqu’une instruction SQL est en attente.
14
Une instruction ALTER INDEX avec une clause ENDING AT n’est pas autorisée lors de l’utilisation du partitionnement contrôlé par table.
15
L’utilisation d’ALTER pour modifier les attributs des valeurs d’une partition n’est pas autorisée pour un index sur une table de base partitionnée avec des colonnes LOB, ou la table elle-même.
16
ALTER TABLE DATA CAPTURE CHANGES n’est pas autorisé pour les espaces table à l’état consultatif en attente de REORG (AREO).
17
ALTER TABLE DROP CLONE ne peut pas être utilisé pour supprimer un clone lorsque la table elle-même est un clone.
18
ALTER INDEX n’est pas autorisé lorsque la table a défini un clone.
19
ALTER TABLESPACE n’est pas autorisé lorsque l’espace table contient une table dont un clone est défini.
20
ALTER TABLE DROP CLONE ne peut pas être utilisé pour supprimer un clone lorsque la table n’a pas de clone défini.
21
ALTER TABLE SET DEFAULT n’est pas autorisé lorsque toutes les conditions suivantes sont vraies :
- La table existe dans un espace table qui a actuellement l’attribut DEFINE YES.
- L’instruction ALTER TABLE fait référence à une colonne qui ne faisait pas partie de la définition de table d’origine.
- Le tableau n’a pas été réorganisé depuis l’ajout de la colonne référencée.
22
ALTER TABLE SET DEFAULT et DROP DEFAULT ne sont pas autorisés pour les tables référencées par une table ou une vue de requête matérialisée.
23
ALTER TABLE DROP DEFAULT n’est pas autorisé lorsque l’espace table est dans l’état d’avertissement REORG-pending (AREO*).
24
Une instruction ALTER TABLE avec des options en attente n’est autorisée que pour les espaces table universels.
25
ALTER TABLE DROP DEFAULT n’est pas autorisé lorsque toutes les conditions suivantes sont vraies :
- L’espace table est soit dans l’état en attente de REORG-pending (AREO*) ou en REORG-pending (REORP).
- L’instruction ALTER TABLE fait référence à une colonne qui ne faisait pas partie de la définition de table d’origine.
- Le tableau n’a pas été réorganisé depuis l’ajout de la colonne référencée.
Dans ce cas, une mise à jour en masse peut être utilisée pour effacer l’état AREO*.
26
Une instruction ALTER VIEW avec une clause REGENERATE n’est pas autorisée si la vue est référencée par une table de requête matérialisée.
27
Pour une instruction ALTER TABLE qui nomme une table de requête matérialisée, les modifications sont limitées aux situations suivantes :
- Modification des attributs de la table de requête matérialisée
- Transformer la table de requête matérialisée en table de base
- En précisant les clauses suivantes :
- ADD RESTRICT ON DROP
- ALTER MATERIALIZED QUERY
- ALTER PARTITION
- AUDIT
- DATA CAPTURE
- DROP MATERIALIZED QUERY
- DROP RESTRICT ON DROP
- ROTATE PARTITION
- KEY LABEL
- NO KEY LABEL
Les clauses ADD RESTRICT ON DROP et DROP RESTRICT ON DROP ne peuvent pas être utilisées dans la même instruction.
28
ALTER TABLE n’est pas autorisé pour une table d’accélérateur uniquement, sauf si la seule modification spécifiée est ADD RESTRICT ON DROP ou DROP RESTRICT ON DROP.
29
ALTER TABLESPACE n’est pas autorisé lorsque l’espace table contient une table d’accélérateur uniquement.
32
Une instruction ALTER avec une clause ADD PARTITION a tenté d’insérer une partition. Ceci n’est pas autorisé pour l’une des raisons suivantes :
- La table n’est pas dans un espace table partition par plage.
- Le numéro de partition n’est pas valide.
- La valeur de la clé limite n’est pas valide pour une partition affectée.
- La table contient une colonne LOB ou une colonne de type distinct basée sur un type de données LOB.
34
ALTER TABLESPACE COMPRESS n’est pas autorisé pour un espace table LOB lorsque l’espace table de base associé n’est pas un espace table universel.
35
ALTER TABLESPACE PAGENUM échoue car l’espace table n’est pas une partition par plage d’espace table.
36
ALTER TABLESPACE PAGENUM échoue car l’espace table est DEFINE NO, mais au moins un index pour l’espace table est DEFINE YES.
37
ALTER TABLESPACE PAGENUM n’a pas réussi car un mot clé non valide a été spécifié. PAGENUM doit être suivi du mot-clé RELATIVE.
38
ALTER TABLESPACE PAGENUM échoue car l’espace table utilise une organisation de hachage, ou ALTER TABLE ne peut pas être utilisé pour ajouter une organisation de hachage lorsque la table réside dans un espace table qui utilise des numéros de page relatifs.
39
ALTER TABLESPACE PAGENUM n’a pas réussi car la table contient des valeurs de clé de limite tronquées.
40
Une instruction ALTER TABLESPACE avec une clause MOVE TABLE doit spécifier une table qui existe dans l’espace table en cours de modification.
41
Une instruction ALTER TABLESPACE avec une clause MOVE TABLE doit spécifier un espace table simple ou segmenté (non UTS) qui doit être modifié.
42
Une instruction ALTER TABLESPACE avec une clause MOVE TABLE doit spécifier un espace table qui existe dans la même base de données que l’espace table en cours de modification.
43
Une instruction ALTER TABLESPACE avec une clause MOVE TABLE doit spécifier un espace table cible qui est un espace table universel partition par croissance.
44
Une instruction ALTER TABLESPACE avec une clause MOVE TABLE doit spécifier un espace table cible qui n’a pas encore d’ensembles de données créés.
45
Une instruction ALTER TABLESPACE avec une clause MOVE TABLE doit spécifier un espace table cible défini avec MAXPARTITIONS 1.
46
Une instruction ALTER TABLESPACE avec une clause MOVE TABLE doit spécifier un espace table cible défini avec le même attribut LOGGED que l’espace table source.
47
Si un espace table est la cible d’une modification de définition en attente pour déplacer une table, l’espace table cible ne peut pas être supprimé et recréé avant que la modification en attente ne soit matérialisée.
48
Un ALTER TABLESPACE avec une clause MAXPARTITIONS pour convertir l’espace table en un espace table universel partition par croissance doit spécifier MAXPARTITIONS 1 s’il existe une modification de définition en attente pour déplacer une table de l’espace table.
49
ALTER TABLESPACE COMPRESS YES HUFFMAN n’est pas autorisé pour un espace table non universel.
50
ALTER TABLESPACE COMPRESS YES FIXEDLENGTH ou COMPRESS YES HUFFMAN n’est pas autorisé pour un espace table LOB.
51
ALTER TABLESPACE COMPRESS YES HUFFMAN n’est pas autorisé pour un espace table qui utilise une organisation de hachage.
Action du système
L’instruction ne peut pas être traitée.
Réponse du programmeur
Corrigez l’erreur en fonction des informations fournies pour la valeur du code anomalie et réémettez l’instruction.
Pour les erreurs dues à une définition incorrecte de l’espace table cible pour une modification de définition en attente pour déplacer une table, effectuez l’une des actions suivantes :
- Modifiez l’espace table cible pour spécifier les attributs corrects.
- Effectuez les étapes suivantes :
- Supprimez toutes les modifications de définition en attente, y compris l’opération MOVE TABLE, associée à l’espace table source.
- Supprimez l’espace table cible.
- Recréez l’espace table cible avec les attributs corrects.
- Exécutez à nouveau toutes les modifications de définition en attente.
SQLSTATE
56090