Archives de catégorie : SQLCODE

CODE RETOUR -780

UNDO SPECIFIED FOR A HANDLER

Explication :
Dans une routine SQL, une instruction composée contient un gestionnaire UNDO. Les gestionnaires UNDO ne sont pas pris en charge.

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

Réponse de l’utilisateur :
Remplacez le gestionnaire UNDO par un gestionnaire CONTINUE ou EXIT.

SQLSTATE :
428D6

CODE RETOUR -781

CONDITION condition-name IS NOT DEFINED OR THE DEFINITION IS NOT IN SCOPE

Explication :
Une condition a été spécifiée dans une déclaration de gestionnaire, une instruction SIGNAL ou RESIGNAL, mais soit la condition n’est pas définie dans la routine, soit la référence au nom de la condition n’est pas dans la portée de la déclaration du nom de la condition.

condition-name 
Le nom de la condition qui n’est pas définie.

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

Réponse de l’utilisateur :
Définissez la condition à l’aide de l’instruction DECLARE CONDITION dans une instruction composée et vérifiez que la référence se trouve dans la même portée que la déclaration. Vous pouvez également supprimer la référence à la condition.

SQLSTATE :
42737

CODE RETOUR -782

A CONDITION OR SQLSTATE condition-value SPECIFIED IS NOT VALID

Explication :
Une routine SQL a spécifié une valeur de condition non valide.

condition-value
Soit une valeur de condition spécifique, qui est fournie en tant que valeur SQLSTATE, soit une valeur de condition générale, telle que SQLEXCEPTION, SQLWARNING ou NOT FOUND.

La condition ou la valeur SQLSTATE n’est pas valide pour l’une des raisons suivantes :

  • La déclaration de gestionnaire ou la déclaration de condition spécifie une valeur SQLSTATE qui n’est pas valide.
  • La condition ou la valeur SQLSTATE a déjà été spécifiée par un autre gestionnaire dans la même portée.
  • La condition ou SQLSTATE a été spécifié dans le même gestionnaire que SQLEXCEPTION, SQLWARNING ou NOT FOUND.

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

Réponse de l’utilisateur :
Corrigez la condition ou la valeur SQLSTATE.

SQLSTATE :
428D7

CODE RETOUR -783

SELECT LIST FOR CURSOR cursor-name IN FOR STATEMENT IS NOT VALID. COLUMN column-name IS NOT UNIQUE

Explication :
La liste SELECT de l’instruction FOR doit contenir des noms de colonne uniques. La liste SELECT spécifiée contient des noms de colonne en double ou des expressions sans nom.
– Si deux noms de colonne sont identiques, le nom de la colonne est column-name.
– Si le problème est le résultat d’expressions sans nom, *N est renvoyé pour column-name.

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

Réponse du programmeur :
Spécifiez des noms de colonne uniques dans la liste SELECT spécifiée dans l’instruction FOR.

SQLSTATE :
42738

CODE RETOUR -771

INVALID SPECIFICATION OF A ROWID COLUMN

Explication :
Pour une instruction ALTER TABLE ou CREATE TABLE, la spécification d’une colonne ROWID peut être invalide pour l’une des raisons suivantes :

  • Une colonne ROWID ne peut pas être ajoutée à une table temporaire.
  • Une colonne ROWID ne peut pas être spécifiée dans une clause de contrainte référentielle en tant que colonne d’une clé étrangère.
  • Une colonne ROWID ne peut pas être une colonne d’une clé primaire ou d’une clé unique.
  • Une colonne ROWID ne peut pas être une colonne dans une table avec une procédure d’édition définie avec une sensibilité d’attribut de ligne.
  • Une colonne ROWID ne peut pas faire partie de la liste de colonnes implicite ou explicite pour fullselect dans la clause as-result-table d’une instruction CREATE TABLE ou DECLARE GLOBAL TEMPORARY TABLE.
  • Une colonne ROWID générée implicitement ne peut pas être supprimée.
  • Une colonne ROWID définie comme GENERATED BY DEFAULT ne peut pas être supprimée si la table contient une colonne ROWID générée implicitement.
  • Une colonne ROWID ne peut pas être supprimée si la table contient des colonnes LOB qui dépendent de la colonne ROWID.

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 :
428C7

CODE RETOUR -773

CASE NOT FOUND FOR CASE STATEMENT

Explication :
Une instruction case sans clause ELSE a été spécifiée dans le corps d’une routine SQL. Aucune des conditions spécifiées dans l’instruction CASE n’a été remplie.

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

Réponse du programmeur :
Modifiez l’instruction CASE pour gérer toutes les conditions qui peuvent se produire.

SQLSTATE :
20000

CODE RETOUR -776

USE OF CURSOR cursor-name IS NOT VALID

Explication :
Curseur cursor-name est spécifié comme nom de curseur dans une instruction FOR d’une procédure SQL. Le curseur ne peut pas être spécifié sur une instruction CLOSE, FETCH ou OPEN dans l’instruction FOR.

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

Réponse du programmeur :
Supprimez l’instruction CLOSE, FETCH ou OPEN.

SQLSTATE :
428D4

CODE RETOUR -778

ENDING LABEL label-name DOES NOT MATCH THE BEGINNING LABEL

Explication :
L’étiquette qui est spécifiée à la fin d’une instruction composée, WHILE, REPEAT ou LOOP dans une routine SQL n’est pas la même que l’étiquette au début de l’instruction. L’étiquette de fin ne peut pas être spécifiée si l’étiquette de début n’est pas spécifiée.

label-name
Le nom donné pour l’étiquette de fin.

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

Réponse de l’utilisateur :
Assurez-vous que l’étiquette de fin est la même que l’étiquette de début pour l’instruction composée, WHILE, REPEAT ou LOOP.

SQLSTATE :
428D5

CODE RETOUR -779

LABEL label SPECIFIED ON A GOTO, ITERATE, OR LEAVE STATEMENT IS NOT VALID

Explication :
Le label (étiquette) label est spécifié comme label cible pour une instruction GOTO, ITERATE ou LEAVE. label n’est pas défini, n’est pas défini dans une portée accessible à l’instruction actuelle ou à l’instruction actuelle, ou n’est pas une étiquette valide pour l’instruction défaillante.

Cette erreur peut se produire avec une instruction GOTO, ITERATE ou LEAVE pour l’une des raisons suivantes :
– Si l’instruction défaillante se trouve dans un gestionnaire de conditions, le label doit être définie dans ce gestionnaire de conditions.
– Si l’instruction défaillante n’est pas dans un gestionnaire de conditions, alors le label ne doit pas être définie dans un gestionnaire de conditions.

De plus, cette erreur peut être émise pour les instructions ITERATE ou LEAVE pour l’une des raisons suivantes :
– Si l’instruction défaillante est une instruction ITERATE, l’étiquette doit être définie comme une étiquette pour une instruction FOR, LOOP, REPEAT ou WHILE, et l’instruction ITERATE doit être dans cette instruction FOR, LOOP, REPEAT ou WHILE, ou dans un bloc de code directement ou indirectement imbriqué dans cette instruction.
– Si l’instruction défaillante est une instruction LEAVE, le label label doit être définie comme une étiquette pour une instruction composée, FOR, LOOP, REPEAT ou WHILE, et l’instruction LEAVE doit être dans cette instruction composée, FOR, LOOP, REPEAT ou WHILE. , ou dans un bloc de code directement ou indirectement imbriqué dans cette instruction.

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

Réponse de l’utilisateur :
Spécifiez un label valide pour la cible de l’instruction GOTO, ITERATE ou LEAVE.

SQLSTATE :
42736

CODE RETOUR -767

MISSING OR INVALID COLUMN SPECIFICATION FOR INDEX index-name

Explication :
L’instruction CREATE INDEX a échoué pour l’une des raisons suivantes :
– Un index sur une table non auxiliaire doit spécifier les colonnes sur lesquelles l’index est défini.
– Un index sur une table auxiliaire ne doit pas avoir de spécification de colonne.

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

Réponse du programmeur :
Corrigez la syntaxe de l’instruction CREATE INDEX.
– Pour créer un index sur une table non auxiliaire, spécifiez les colonnes sur lesquelles l’index est défini.
– Pour créer un index sur une table auxiliaire, ne spécifiez le nom d’aucune colonne.

SQLSTATE :
42626