Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Typ powrotu kursora Oracle

Z przewodnika po koncepcjach :

Ważną frazą jest „zorientowany na rekord”. składnia jawnej deklaracji kursora również wyraźnie pokazuje, że zwracany typ musi być rowtype , który definiuje jako:

Prosisz go o zwrócenie typu danych pojedynczej kolumny, a nie wiersza/rekordu. Jeśli nie chcesz używać istniejącego %ROWTYPE wtedy Oracle zapewnia mechanizm deklarowania typu rekordu, jak już pokazała inna odpowiedź.

Wydajesz się narzekać, że dokumentacja nie mówi, że nie możesz użyć wartości skalarnej jako zwrotu. Nie mówi również, że nie możesz zwrócić pakietu, widoku lub roli. Nie musi zawierać wyczerpującej listy wszystkiego, czego nie możesz zrobić, ponieważ wyraźnie mówi Ci dokładnie, co możesz do, który ma zwrócić typ reprezentujący wiersz.

W twoim przypadku ten typ wiersza musi zawierać tylko jedną kolumnę, ale nadal nie ma powodu, dla którego powinieneś być w stanie - lub oczekiwać, że Oracle - pozwoli ci pójść na skróty w tym bardzo ograniczonym scenariuszu. Zapewnienie jednego spójnego mechanizmu nie wydaje się nierozsądne — zadeklarowanie record nie jest dla ciebie zbyt trudne , podczas gdy ich budowanie, testowanie i utrzymywanie oddzielnej ścieżki do tego byłoby znacznym obciążeniem.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak utworzyć indeks dla dynamicznych ciągów wyszukiwania

  2. Co to jest operator konkatenacji ciągów w Oracle?

  3. Jak wyświetlić wszystkie uprawnienia Oracle Database dla użytkownika?

  4. jak wykonać wiele zapytań Oracle c#

  5. Zmień tabelę, aby zmienić domyślną wartość kolumny