Oracle
 sql >> Datenbank >  >> RDS >> Oracle

So zeigen Sie sys_refcursor-Daten im DataGrid von TOAD an

Nachdem Sie F9 gedrückt haben Der Dialog "Variablen" erscheint und Sie wählen Type=Cursor aus der Dropdown-Liste und drücken dann OK:

Der Grund, warum Sie den Fehler „ORA-24338:Anweisungshandle nicht ausgeführt“ erhalten, liegt darin, dass Sie Ihren Cursor schließen, bevor darauf zugegriffen wird.

Dies ist der Prozess, der gerade passiert:

  1. Prozedur ausführen
  2. OPEN-Anweisung gibt einen Zeiger auf die Ergebnismenge im Speicher zurück (aber keine Daten)
  3. CLOSE-Anweisung verwirft die Ergebnisse, bevor auf sie zugegriffen wird
  4. Verfahrensaufruf endet
  5. Der Client-Aufrufer (in diesem Fall TOAD) versucht, auf den Ergebnisstrom zuzugreifen, aber der Zeiger ist ungültig, sodass nichts gelesen werden kann und der Fehler ausgegeben wird

Lösung:Entfernen Sie close lcursor; Erklärung.