CURSOR cursor-name HAS ALREADY BEEN ASSIGNED TO THIS OR ANOTHER RESULT SET FROM PROCEDURE procedure-name.
Explication
Une tentative a été faite pour affecter un curseur à un jeu de résultats à l’aide de l’instruction SQL ALLOCATE CURSOR et l’un des cas suivants s’applique :
- La variable de localisation de l’ensemble de résultats spécifiée dans l’instruction ALLOCATE CURSOR a été précédemment affectée au curseur cursor-name.
- Le curseur cursor-name spécifié dans l’instruction ALLOCATE CURSOR a été précédemment affecté à un jeu de résultats à partir de la procédure stockée procedure-name.
Action du système
L’instruction ne peut pas être traitée.
Réponse du programmeur
Déterminez si l’ensemble de résultats cible nommé dans l’instruction ALLOCATE CURSOR a déjà été affecté à un curseur.
Si le jeu de résultats a été précédemment affecté au curseur cursor-name , choisissez un autre jeu de résultats cible ou appelez à nouveau la procédure stockée procedure-name et réexécutez les instructions ASSOCIATE LOCATOR et ALLOCATE CURSOR.
Si le jeu de résultats n’a pas été précédemment affecté à un curseur, le curseur cursor-name spécifié dans l’instruction ALLOCATE CURSOR a été précédemment affecté à un jeu de résultats à partir de la procédure stockée procedure-name. Vous ne pouvez pas affecter le curseur cursor-name à un autre jeu de résultats, vous devez donc spécifier un nom de curseur différent dans l’instruction ALLOCATE CURSOR.
Corrigez les instructions de sorte que la syntaxe exacte utilisée pour spécifier le nom de la procédure sur l’instruction CALL soit la même que celle sur ASSOCIATE LOCATOR et/ou DESCRIBE PROCEDURE. Si un nom non qualifié est utilisé pour CALL la procédure, le nom en une partie doit également être utilisé sur les autres instructions. Si l’instruction CALL est faite avec un nom en trois parties et que le serveur actuel est le même que l’emplacement dans le nom en trois parties, la procédure ASSOCIATE LOCATOR ou DESCRIBE peut omettre l’emplacement.
SQLSTATE
24516