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

Тип връщане на курсора на Oracle

От ръководството за концепции :

Важната фраза там е „ориентиран към запис“. синтаксис за изрична декларация на курсора също ясно показва, че върнатият тип трябва да бъде rowtype , което дефинира като:

Искате от него да върне типа данни на една колона, а не на ред/запис. Ако не искате да използвате съществуващ %ROWTYPE тогава Oracle предоставя механизма за деклариране на тип запис вместо това, както вече беше показано в друг отговор.

Изглежда се оплаквате, че документацията не казва, че не можете да използвате скаларна стойност като връщане. Също така не казва, че не можете да върнете пакет, или изглед, или роля. Не е необходимо да се изброява изчерпателно всичко, което не можете правете, тъй като ясно ви казва какво точно можете do, което означава да върне тип, който представлява ред.

Във вашия случай този тип ред трябва да съдържа само една колона, но все още няма причина да можете - или да очаквате от Oracle - да ви позволи да използвате пряк път в този много ограничен сценарий. Не изглежда неразумно да се осигури един-единствен последователен механизъм - не представлява голяма трудност за вас да декларирате record , като има предвид, че тяхното изграждане, тестване и поддържане на отделен път за това би било значителна работа.



  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/TOAD

  2. Може ли да възникне задънена улица със същия метод за достъп?

  3. Oracle Индекси и типове индекси в Oracle с пример

  4. Намиране на най-новия договор за всеки акаунт

  5. oracle commit убива