CODE RETOUR -526

THE REQUESTED OPERATION OR USAGE DOES NOT APPLY TO table-type TEMPORARY TABLE table-name

Explication
DB2 suppose que l’instruction SQL en cours d’exécution fait référence à une table temporaire créée ou déclarée, nommée  table-name , et que l’opération ou l’utilisation demandée dans l’instruction n’est pas autorisée sur la table temporaire.

table-type
CREATED ou DECLARED
CREATED est pour une table temporaire définie par l’instruction CREATE GLOBAL TEMPORARY TABLE.

DECLARED concerne une table temporaire définie par l’instruction DECLARE GLOBAL TEMPORARY TABLE.

table-name
Nom qualifié de la table temporaire.

Cette erreur peut être émise pour les raisons suivantes lorsque le table-type est CREATED :

  • Si l’instruction SQL est une instruction DELETE qui spécifie la clause d’extraction, supprimez la clause d’extraction de l’instruction DELETE.
  • Une clause KEY LABEL est spécifiée.

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

Réponse du programmeur
Modifiez l’instruction SQL pour vous assurer que les références d’objet ne sont pas au type de table temporaire indiqué

Si le table-type est DÉCLARÉ et que vous souhaitiez que table-name fasse référence à une table de base persistante existante, vous devez effectuer l’une des actions suivantes :

  • Recréez la table de base persistante table-name avec un autre qualificateur de schéma
  • Dans le même processus d’application, émettez un DROP TABLE pour le nom de la table table-name suivi d’un COMMIT pour supprimer la table temporaire déclarée et pouvoir ensuite référencer la table de base persistante avec le même table-name dans le même processus d’application
  • Supprimez l’instruction DECLARE GLOBAL TEMPORARY TABLE du processus d’application pour utiliser la table de base persistante avec le même nom de table

Si table-type est CREATED, effectuez l’action suivante et relancez l’instruction :

  • Si l’instruction SQL est une instruction DELETE qui spécifie la clause d’extraction, supprimez la clause d’extraction de l’instruction DELETE.
  • Si l’instruction SQL contient une clause KEY LABEL, supprimez la spécification d’étiquette de clé.

SQLSTATE
42995