Archives de catégorie : SQLCODE

CODE RETOUR -697

OLD OR NEW CORRELATION NAMES ARE NOT ALLOWED IN A TRIGGER DEFINED WITH THE FOR EACH STATEMENT CLAUSE. OLD_TABLE OR NEW_TABLE NAMES ARE NOT ALLOWED IN A TRIGGER WITH THE BEFORE CLAUSE.

Explication :
Le déclencheur (trigger), tel qu’il est défini, inclut une clause REFERENCING avec l’une des combinaisons non valides suivantes :

  • OLD ou NEW noms de corrélation spécifiés (ou les deux) et la clause FOR EACH STATEMENT.
  • Noms de corrélation NEW_TABLE ou OLD_TABLE spécifiés (ou les deux) et la clause BEFORE.

Action du système :
La déclaration ne peut pas être traitée. Le déclencheur n’a pas été défini.

Réponse du programmeur :
Supprimez les noms de corrélation non valides ou modifiez la granularité du déclencheur sur FOR EACH ROW.

SQLSTATE :
42899

CODE RETOUR -689

TOO MANY COLUMNS DEFINED FOR A DEPENDENT TABLE

Explication :
Le nombre maximal de colonnes autorisées pour une table dépendante est de 749. Le code est utilisé pour signaler que l’instruction n’est pas valide en raison de l’une des raisons suivantes :

  • Une instruction CREATE TABLE crée une table dépendante avec 750 colonnes.
  • Une instruction ALTER TABLE modifie une table dépendante avec 749 colonnes pour ajouter une colonne, ou modifie une table avec 750 colonnes pour devenir une table dépendante.

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

Réponse du programmeur :
Corrigez l’instruction SQL pour vous conformer à la limite de colonnes d’une table dépendante.

SQLSTATE :
54011

CODE RETOUR -690

THE STATEMENT IS REJECTED BY DATA DEFINITION CONTROL SUPPORT. REASON reason-code

Explication :
Le code est émis par le support de contrôle de définition de données pour signaler que la déclaration est rejetée pour la raison indiquée par ‘reason-code‘ après consultation de la table d’enregistrement d’application et de la table d’enregistrement d’objet.

L’explication du reason-code donné :

0001La prise en charge du contrôle de la définition des données s’exécute en mode de contrôle par nom d’application. L’instruction est rejetée car l’application actuelle n’est pas enregistrée dans la table d’enregistrement des applications avec DEFAULTAPPL activé.
0002La prise en charge du contrôle de la définition des données s’exécute en mode Contrôle par nom d’application avec exceptions. L’instruction est rejetée car l’objet n’est pas enregistré dans la table d’enregistrement d’objet et l’application actuelle n’est pas enregistrée dans la table d’enregistrement d’application avec DEFAULTAPPL activé.
0003La prise en charge du contrôle de la définition des données s’exécute en mode Contrôle par nom d’application avec exceptions. L’instruction est rejetée car l’objet est enregistré dans la table d’enregistrement d’objets mais l’application actuelle ne correspond pas.
0004La prise en charge du contrôle des définitions de données s’exécute en mode de contrôle par nom d’objet avec exceptions. L’instruction est rejetée car l’objet est enregistré dans la table d’enregistrement d’objets mais l’application actuelle ne correspond pas.
0005La prise en charge du contrôle des définitions de données s’exécute en mode de contrôle par nom d’objet. L’instruction est rejetée car l’objet est enregistré dans la table d’enregistrement d’objets mais l’application actuelle ne correspond pas.
0006La prise en charge du contrôle des définitions de données s’exécute en mode de contrôle par nom d’objet. L’instruction est rejetée car l’objet n’est pas enregistré dans la table d’enregistrement des objets.


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

Réponse du programmeur :
Vérifiez si la prise en charge du contrôle de la définition des données s’exécute dans le bon mode. Vérifiez une ou les deux tables d’enregistrement pour déterminer si les entrées des tables d’enregistrement sont correctes. Si ce n’est pas le cas, mettez à jour les tables d’enregistrement.

SQLSTATE :
23508

CODE RETOUR -691

THE REQUIRED REGISTRATION TABLE table-name DOES NOT EXIST

Explication :
La prise en charge du contrôle de définition de données suppose l’existence de la table d’enregistrement d’application et de la table d’enregistrement d’objet. Mais une ou les deux tables ne sont pas définies.

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

Réponse du programmeur :
Déterminez si les tables d’enregistrement requises existent. Si ce n’est pas le cas, créez les tables requises.

SQLSTATE :
57018

CODE RETOUR -692

THE REQUIRED UNIQUE INDEX index-name FOR DDL REGISTRATION TABLE table-name DOES NOT EXIST

Explication :
Un index unique doit être défini pour chaque table d’enregistrement. Le code est émis lorsque l’index requis n’existe pas ou que l’index défini n’est pas un index unique.

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

Réponse du programmeur :
Déterminez si l’index unique requis existe. Sinon, créez l’index requis. Si l’index existe, mais qu’il n’est pas unique, supprimez-le et recréez-le en tant qu’index unique.

SQLSTATE :
57018

CODE RETOUR -693

THE COLUMN column-name IN DDL REGISTRATION TABLE OR INDEX name IS NOT DEFINED PROPERLY

Explication :
Une erreur s’est produite lors de la vérification de la table d’enregistrement de l’application ou de l’objet.

  1. La table est mal définie pour les raisons suivantes :
  • Une colonne obligatoire est manquante.
  • Une description de colonne n’est pas valide car son nom, son numéro de colonne, son type de données, sa longueur ou son attribut nul sont incorrects.

ou

  1. L’index n’est pas correctement défini pour les raisons suivantes :
  • Une colonne de clé obligatoire est manquante.
  • Une description de colonne de clé n’est pas valide en raison de sa séquence de clé ou parce que son ordre est incorrect.
  • Une colonne de clé définie ne doit pas faire partie de la clé unique.

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

Réponse du programmeur :
Corrigez ou modifiez la définition de la table ou de l’index d’enregistrement requis.

SQLSTATE :
55003

CODE RETOUR -686

COLUMN DEFINED WITH A FIELD PROCEDURE CAN NOT COMPARE WITH ANOTHER COLUMN WITH DIFFERENT FIELD PROCEDURE

Explication :
Les colonnes spécifiées ne sont pas compatibles. Différentes procédures de champ sont spécifiées ou une seule procédure de champ est spécifiée.

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

Réponse du programmeur :
Corrigez l’instruction SQL.

SQLSTATE :
53043

CODE RETOUR -687

FIELD TYPES INCOMPARABLE

Explication :
Une colonne ne peut pas être comparée à une autre colonne contenant des types de champs incompatibles.

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

Réponse du programmeur :
Corrigez l’instruction SQL.

SQLSTATE :
53044

CODE RETOUR -688

INCORRECT DATA RETURNED FROM FIELD PROCEDURE, column-namemsgno

Explication :
Données inattendues renvoyées par la procédure de champ pour la colonne ‘column-name‘. Pour plus d’informations, voir ‘msgno‘.

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

Réponse du programmeur :
Corrigez la procédure de champ afin qu’elle renvoie des valeurs cohérentes avec leurs descriptions.

SQLSTATE :
58002

CODE RETOUR -683

THE SPECIFICATION FOR COLUMN, DISTINCT TYPE, FUNCTION, OR PROCEDURE data-item CONTAINS INCOMPATIBLE CLAUSES

Explication :
La spécification de l’élément de données d’une instruction CREATE ou ALTER contient une erreur.

data-item
La source du problème, qui varie selon l’énoncé.

L’instructions CREATE DISTINCT TYPE :
Nom du type en cours de définition.
L’instructions CREATE FUNCTION ou ALTER FUNCTION :
La zone de l’instruction qui a provoqué l’erreur, telle que “PARAMETER 3”, “RETURNS” ou “CAST FROM”.
Instructions CREATE TABLE ou ALTER TABLE :
Nom de la colonne à l’origine de l’erreur. L’erreur peut être une spécification non valide de FOR BIT DATA, FOR SBCS DATA, FOR MIXED DATA ou FIELDPROC pour la définition de colonne.
Les restrictions supplémentaires suivantes s’appliquent aux instructions CREATE TABLE, ALTER TABLE ou aux deux :
– Dans une instruction ALTER TABLE, la modification de génération ne peut pas être spécifiée pour une colonne qui n’est pas définie en tant que colonne d’identité.
– Les colonnes pour une période BUSINESS_TIME doivent être définies avec un type de données DATE ou TIMESTAMP(6) WITHOUT TIME ZONE.
– Le type de données d’une colonne définie comme ROW BEGIN, ROW END ou TRANSACTION START ID doit être TIMESTAMP(12) WITHOUT TIME ZONE.


Causes générales
FIELDPROC ne peut être spécifié que pour les colonnes qui sont une chaîne de caractères intégrée ou un type de données de chaîne graphique qui n’est pas un LOB.
FIELDPROC ne peut pas être spécifié pour une colonne Unicode dans une table EBCDIC.

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

Réponse du programmeur :
Corrigez l’instruction SQL en supprimant la spécification incompatible.

SQLSTATE :
42842