Table Functions gibt es schon seit langer Zeit in der Oracle Datenbank. Sie werden meist dazu verwendet eine Ansammlung von Daten beispielsweise Nested Tables oder Collections wie eine ganz normale Datenbank Tabelle in der FROM Klausel abzufragen. Interessant ist dabei auch die Möglichkeit eine Table Function “pipelined” zu verwenden – ähnlich wie bei einer Unix Pipe.
In Oracle Database 18c gibt es nun einen neuen Table Function Typ – die Polymorphic Table Function (kurz PFT). Der Begriff “polymorph” (griech.: poly=viele und morph=Form) wird auch häufig in der objektorientierten Programmierung benutzt und bezeichnet die Eigenschaft von Objekten mehrere Formen anzunehmen. Polymorphic Table Functions in Oracle Database 18c sollen generische Anwendungen mit beliebigen Eingabetabellen unterstützen, die zur Definitionszeit noch nicht bekannt sein müssen. PFTs sind übrigens auch Teil von ANSI 2016.
Unser aktuelle Tipp beschreibt die Funktionen der Oracle PFT anhand eines Beispiels aus de Oracle Live SQL Code Library.
