Para citar de "Ask Tom Oracle":
las funciones canalizadas son simplemente "código que puede pretender que es una tabla de base de datos"
las funciones canalizadas le brindan la (sorprendente para mí) capacidad de
select * from PLSQL_FUNCTION;
en cualquier momento que crea que puede usarlo, para seleccionar * de una función, en lugar de una tabla, podría ser "útil".
En cuanto a las ventajas:una gran ventaja de usar una función Pipeline es que su función puede devolver filas una por una en lugar de construir todo el conjunto de resultados en la memoria como un todo antes de devolverlo.
Lo anterior brinda la optimización obvia:ahorro de memoria de algo que de otro modo arrojaría un gran conjunto de resultados.
Un ejemplo bastante interesante del uso de funciones canalizadas está aquí
Lo que parece ser un buen uso de ellos es ETL (extraer/transformar/cargar); por ejemplo, consulte aquí