CODE RETOUR -613

THE PRIMARY KEY OR A HASH KEY OR A UNIQUE CONSTRAINT IS TOO LONG OR HAS TOO MANY COLUMNS AND PERIODS

Explication
Le nombre de colonnes et de périodes définies pour une contrainte PRIMARY KEY ou UNIQUE est trop important. Les deux conditions suivantes doivent être remplies :

  • Le total du nombre de colonnes et de deux fois le nombre de périodes identifiées ne doit pas dépasser 64.
  • La somme des attributs de longueur de colonne des colonnes identifiées et des colonnes de début et de fin de toute période identifiée ne doit pas dépasser la limite autorisée pour le type de contrainte.

Si l’instruction défaillante était une instruction ALTER TABLE qui incluait la clause SET DATA TYPE pour modifier la définition d’une colonne existante, une colonne en cours de modification fait partie d’une contrainte unique ou principale. La nouvelle somme des longueurs des colonnes des clés dépasse 2000-n-2m, où n est le nombre de colonnes “nullables” et m est le nombre de colonnes de longueur variable. Cette somme dépasse actuellement le nombre maximum autorisé.

Si l’instruction défaillante était une instruction ALTER TABLE avec une spécification PARTITIONING KEY, seules 64 colonnes peuvent être spécifiées et les longueurs combinées de toutes les colonnes spécifiées dans la clause PARTITIONING KEY dépassent la longueur maximale de 255-n, où n est le nombre de colonnes pouvant contenir des valeurs nulles.

L’instruction défaillante peut avoir été CREATE TABLE avec une spécification ORGANIZE BY HASH ou ALTER TABLE avec une spécification ADD ORGANIZE BY HASH.

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

Réponse du programmeur
Modifiez la définition de la table pour rester dans les limites prescrites.

SQLSTATE
54008