What Are Cursor Variables ?
The Cursor variables are like C or Pascal pointers that hold the memory location (address) of some item rather of the item itself. Therefore, declaring a cursor variable creates a pointer, not an item. In the PL/SQL, the pointer has a datatype REF X, where REF is short form for the REFERENCE and X stands for the class of objects. Therefore, a cursor variable has the datatype REF CURSOR.
To execute a multi-row query, the Oracle opens an unnamed work region which stores processing the information. To access the information, you can use an explicit cursor that names the work area. Or, you can use a cursor variable that points to the work region. While the cursor always refers to the similar query work region, a cursor variable can refer to various work regions. Therefore, the cursors and cursor variables are not interoperable.