Oracle
 sql >> Base de données >  >> RDS >> Oracle

Comment afficher une donnée sys_refcursor dans le DataGrid de TOAD

Après avoir appuyé sur F9 la boîte de dialogue "Variables" apparaît et vous sélectionnez Type=Curseur dans la liste déroulante puis appuyez sur OK :

La raison pour laquelle vous obtenez l'erreur "ORA-24338 :handle d'instruction non exécuté" est que vous fermez votre curseur avant d'y accéder.

Voici le processus en cours :

  1. Exécuter la procédure
  2. L'instruction OPEN renvoie un pointeur vers le jeu de résultats en mémoire (mais ne renvoie aucune donnée)
  3. L'instruction CLOSE supprime les résultats avant qu'ils ne soient consultés
  4. L'appel de procédure se termine
  5. L'appelant client (dans ce cas TOAD) tente d'accéder au flux de résultats, mais le pointeur n'est pas valide, donc rien ne peut être lu et l'erreur est renvoyée

Solution :supprimez le close lcursor; déclaration.