REF CURSOR overview v15

A cursor variable is a cursor that contains a pointer to a query result set. The result set is determined by executing the OPEN FOR statement using the cursor variable.

A cursor variable isn't tied to a single query like a static cursor is. You can open the same cursor variable a number of times with OPEN FOR statements containing different queries. Each time, a new result set is created from that query and made available by way of the cursor variable.

You can pass REF CURSOR types as parameters to or from stored procedures and functions. The return type of a function can also be a REF CURSOR type. This ability lets you modularize the operations on a cursor into separate programs by passing a cursor variable between programs.