Chapter 3. Table Functions

A table function is a function that can be used as a data source for a query. For example, you can include a table function in the FROM clause of a SELECT statement in a PL/SQL program. Even more exciting is the fact that a table function can return records. (In fact, it returns a collection of objects.) These two behaviors alone make table functions very useful in situations where complex processing needs to be hidden behind a single SELECT statement, such as in reports and API components. Add to these features the ability to pipeline and parallelize table functions and you have a very powerful tool for transformative processes like Data Warehouse Extraction, Transformation, Loading (ETL).

It’s clear that table functions provide benefits to report developers and Data Warehouse techies, but you may be wondering why DBAs should care about them. The short answer is that you need to know about them because others in your organization might not. Many developers aren’t even aware that table functions exist, let alone how they can help in building better and faster applications—and that’s where DBAs come in. Consider a developer whose report query has become increasingly complex as requirements have changed, until performance is now unacceptable. He may have tried every combination of subquery and outer join, all to no avail. The processing is obviously much too complex to expect a single SELECT statement to handle it, but the report interface dictates that it ...

Get Oracle PL/SQL for DBAs now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.