CODE RETOUR -846

INVALID SPECIFICATION OF AN IDENTITY COLUMN OR SEQUENCE OBJECT object-type object-name. REASON CODE = reason-code

Explication :
Pour une colonne ou une séquence d’identité, la spécification d’un attribut dans une instruction CREATE ou ALTER peut être invalide.

Ce message est également émis si nom-objet identifie une colonne DB2_GENERATED_DOCID_FOR_XML.

object-type
Le type d’objet.

object-name
Le nom de l’objet.

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

1Le type de données sous-jacent de la colonne d’identité ou de l’objet de séquence n’est pas pris en charge. Les colonnes d’identité et les objets de séquence prennent en charge les types de données suivants : SMALLINT, INTEGER, BIGINT et DECIMAL (ou NUMERIC) avec une échelle de zéro.
2La valeur de START WITH, INCREMENT BY, MINVALUE, MAXVALUE ou RESTART WITH est en dehors de la plage pour le type de données de la colonne d’identité ou de l’objet de séquence. Si la séquence modifiée est DSNSEQ_IMPLICITDB, la valeur de MAXVALUE est en dehors de la plage comprise entre 1 et 60000 inclus.
3MINVALUE doit être inférieur ou égal à MAXVALUE.
4Une valeur non valide a été spécifiée pour CACHE. La valeur doit être un INTEGER avec une valeur minimale de 2.
5Une procédure d’édition définie avec une sensibilité d’attribut de ligne a été spécifiée pour la colonne d’identité.
6Une colonne d’identité a été spécifiée pour une table temporaire globale déjà définie par une instruction CREATE GLOBAL TEMPORARY TABLE. Cette erreur peut se produire pour une instruction CREATE GLOBAL TEMPORARY TABLE ou une instruction ALTER TABLE pour une table temporaire globale lors d’une tentative d’ajout d’une colonne d’identité à une table temporaire globale existante déjà définie par une instruction CREATE GLOBAL TEMPORARY TABLE.

Action du système :
La déclaration ne peut pas être traitée.

Réponse du programmeur :
Corrigez la syntaxe et soumettez à nouveau la déclaration.

SQLSTATE :
42815