CODE RETOUR -346

AN INVALID REFERENCE TO COMMON TABLE EXPRESSION name OCCURS IN THE FIRST FULLSELECT, AS A SECOND OCCURRENCE IN THE SAME FROM CLAUSE, OR IN THE FROM CLAUSE OF A SUBQUERY

Explication :
Le nom de l’expression de table commune name inclut une référence non valide à lui-même, comme décrit par l’un des éléments suivants :

  • Une référence récursive dans le premier fullselect avant l’opérateur set UNION ALL. Le premier fullselect doit être une initialisation et ne peut pas inclure de référence récursive.
  • Plusieurs références à la même expression de table commune dans la même clause FROM. De telles références ne sont pas autorisées dans une expression de table commune récursive.
  • Une référence récursive dans la clause FROM d’une sous-requête. Un cycle de récursivité ne peut pas être défini à l’aide d’une sous-requête.

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

Réponse du programmeur :
Modifiez l’un des éléments suivants :

  • le fullselect avant l’opérateur union afin qu’il n’inclue pas de référence récursive.
  • la clause FROM contenant plusieurs références à la même expression de table commune à une seule référence.
  • la clause FROM de la sous-requête afin qu’elle ne fasse pas référence à l’expression de table commune.

SQLSTATE :
42836