SENSITIVE CURSOR cursor-name CANNOT BE DEFINED FOR THE SPECIFIED SELECT STATEMENT
Explication :
Une clause n’était pas valide pour l’une des raisons suivantes :
- Le curseur, cursor-name, est défini comme SENSITIVE, mais le contenu de l’instruction SELECT rend le curseur en lecture seule. Dans la plupart des cas, l’instruction SELECT nécessite que Db2 crée une table temporaire ou un fichier de travail avec la table de résultats du curseur, et Db2 ne peut garantir que les modifications apportées en dehors du curseur seront visibles. Dans ce cas, le curseur doit être défini INSENSITIVE ou ASENSITIVE.
- Le curseur, cursor-name, est défini comme SENSITIVE DYNAMIC et une clause OFFSET ou FETCH a été spécifiée pour la sous-sélection ou la sélection complète la plus externe.
Action du système :
L’instruction ne peut pas être traitée.
Réponse du programmeur :
Si le curseur est défini comme SENSITIVE, mais que le contenu de l’instruction SELECT rend le curseur en lecture seule, modifiez le contenu de la requête pour obtenir une table de résultats qui n’est pas en lecture seule ou modifiez le type de curseur à INSENSIBLE ou ASENSIBLE.
Si le curseur est défini comme SENSITIVE DYNAMIC et qu’une clause OFFSET ou FETCH a été spécifiée pour la sous-sélection ou la sélection complète la plus à l’extérieur, modifiez la sensibilité du curseur ou modifiez la sous-sélection ou la sélection complète la plus extérieure pour supprimer la clause OFFSET ou la clause FETCH.
ETATSQL :
36001