I'm a new comer to the idea of Pipeline Functions. I've some queries about

From Database perspective:

  • What really is Pipeline function ?
  • What's the benefit of using Pipeline Function ?
  • What challenges are solved using Pipeline Function ?
  • Would be the any optimisation benefits of using Pipeline Function ?


To quote fom "Request Tom Oracle":

pipelined functions are merely "code you are able to pretend is really a database table"

pipelined functions provide you with the (amazing in my experience) capability to

select * from PLSQL_FUNCTION;

when you think technology-not only -- to choose * from the function, rather than a table, it may be "helpful".

So far as advantages: a large benefit of utilizing a Pipeline function is your function can return rows one-by-one instead of building the whole result occur memory in general before coming back it.

The above mentioned provides the apparent optimisation - memory savings from something which would certainly return large result set.

A reasonably interesting illustration of using pipelined functions is here

What appears to become a good utilization of them is ETL (extract/transform/load) - for example see here