Oracle
 sql >> база данни >  >> RDS >> Oracle

Как да покажа данни от sys_refcursor в DataGrid на TOAD

След като натиснете F9 появява се диалоговият прозорец „Променливи“ и вие избирате Type=Cursor от падащия списък, след което натиснете OK:

Причината да получавате грешката „ORA-24338:манипулаторът на оператора не е изпълнен“ е, че затваряте курсора си, преди да има достъп до него.

Това е процесът, който се случва:

  1. Изпълнете процедурата
  2. Изявлението OPEN връща указател към набора от резултати в паметта (но не връща никакви данни)
  3. Изявлението CLOSE отхвърля резултатите, преди да бъдат достъпни
  4. Извикването на процедурата приключва
  5. Извикващият клиент (в този случай TOAD) се опитва да осъществи достъп до потока с резултати, но указателят е невалиден, така че нищо не може да бъде прочетено и се извежда грешката

Решение:Премахнете close lcursor; изявление.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Разделена таблица на Oracle

  2. Еквивалент на функциите PostgreSQL array() / array_to_string() в Oracle 9i

  3. Моделиране на данни за EAV

  4. C# и Oracle Number Datatype

  5. Как да разберете дали дадена стойност съществува в рамките на VARRAY