CODE RETOUR -582

THE SEARCH-CONDITION IN A SEARCHED-WHEN-CLAUSE OF A CASE IS NOT VALID IN THE CONTEXT IN WHICH IT WAS SPECIFIED. THE SEARCH CONDITION CONTAINS A QUANTIFIED PREDICATE OR AN IN PREDICATE THAT INCLUDES A FULLSELECT, AND THESE ARE NOT ALLOWED IN THE SPECIFIED CONTEXT.

Explication
La condition de recherche SEARCH-CONDITION dans une clause recherchée SEARCHED-WHEN-CLAUSE spécifie un prédicat quantifié, un prédicat IN ou un prédicat EXISTS, mais n’est pas autorisée. Cependant, un prédicat IN est autorisé dans une liste de sélection ou une clause VALUES si ce prédicat IN inclut explicitement une liste d’expressions.

La condition de recherche SEARCH-CONDITION dans une clause recherchée SEARCHED-WHEN-CLAUSE spécifie un prédicat quantifié ou un prédicat IN qui inclut un fullselect. Une spécification CASE qui inclut l’un ou l’autre de ces éléments ne peut pas être utilisée dans les contextes suivants :

  • Une liste SELECT
  • Une clause VALUES d’une instruction INSERT ou MERGE
  • Une clause SET ou d’affectation d’une instruction UPDATE, MERGE ou DELETE
  • Le côté droit d’un SET ou d’une instruction d’affectation
  • Un masque de colonne ou une définition d’autorisation de ligne

La condition de recherche SEARCH-CONDITION dans une clause recherchée SEARCHED-WHEN-CLAUSE a spécifié un prédicat EXISTS. Une spécification CASE qui inclut un prédicat EXISTS ne peut pas être utilisée dans les contextes suivants :

  • Une clause VALUES d’une instruction INSERT ou MERGE
  • Le côté droit d’un SET ou d’une instruction d’affectation
  • Le diagnostic-string-expression  d’une instruction SIGNAL
  • Une clause ORDER BY ou une clause GROUP BY

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

Réponse du programmeur
Corrigez les expressions de résultat afin qu’elles soient compatibles.

SQLSTATE
42625