Um aus "Ask Tom Oracle" zu zitieren:
Pipeline-Funktionen sind einfach "Code, den Sie vorgeben können, ist eine Datenbanktabelle"
Pipeline-Funktionen geben Ihnen die (für mich erstaunliche) Fähigkeit,
select * from PLSQL_FUNCTION;
Immer wenn Sie denken, dass Sie es verwenden können - um * aus einer Funktion anstelle einer Tabelle auszuwählen, könnte es "nützlich" sein.
Zu den Vorteilen:Ein großer Vorteil der Verwendung einer Pipeline-Funktion besteht darin, dass Ihre Funktion Zeilen einzeln zurückgeben kann, anstatt die gesamte Ergebnismenge als Ganzes im Speicher aufzubauen, bevor sie zurückgegeben wird.
Das Obige ergibt die offensichtliche Optimierung – Speichereinsparungen durch etwas, das sonst eine große Ergebnismenge zurückgeben würde.
Ein ziemlich interessantes Beispiel für die Verwendung von Pipeline-Funktionen finden Sie hier
Eine gute Verwendung scheint ETL (extract/transform/load) zu sein – siehe zum Beispiel hier