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

Zwracanie „tabeli” (bez wstępnego definiowania nazw kolumn) z funkcji PL/SQL

Chciałbym zdecydowanie podejrzewasz, że nie chcesz tego zrobić. Dynamiczne tworzenie typów obiektów i budowanie tego rodzaju elastyczności w PL/SQL jest prawie zawsze receptą na ruinę. Skończysz na pisaniu niezwykle skomplikowanego dynamicznego SQL wszędzie (zarówno w funkcjach wywołujących, jak i funkcjach), co sprawi, że Twój kod będzie znacznie trudniejszy do odczytania i debugowania. Kiedy twój kod staje się tak złożony, lepiej jest pisać frameworki, które generują kod, ale to pozostawia cię z dużo trudniejszym problemem pisania kodu, który generuje kod, który rozwiązuje twój problem, a nie tylko pisania kodu, który rozwiązuje twój problem.

To powiedziawszy, jeśli jesteś naprawdę, naprawdę zdeterminowany, możesz zbudować całkowicie ogólna funkcja tabeli potokowej . Wiąże się to z głębokimi, głębokimi czarami przy użyciu frameworka Oracle Data Cartridge. To całkiem fajne. Ale liczba osób, które mogłyby realistycznie wesprzeć i rozszerzyć ten rodzaj kodu, jest bardzo mała.

Mając nieco mniej magii (ale wciąż znacznie więcej niż sugerowałbym dla praktycznie każdej organizacji), możesz zbudować elastyczna funkcja tabeli potokowej który polega na zwracaniu typów ze wstępnie zdefiniowanej hierarchii typów. Jest to bardziej prawdopodobne, ale zakłada, że ​​możesz zbudować hierarchię typów z góry.




  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 zwrócić zestaw wyników z procedury składowanej w Oracle?

  2. Instrukcja SQL łącząca Oracle i MS SQL Server

  3. Dodano datę i datę modyfikacji dla audytu tabeli Oracle

  4. Konwersja ciągu ze skróconą strefą czasową na znacznik czasu

  5. Baza danych a przestrzeń tabel, jaka jest różnica?