SYS_REFCURSOR
A cursor variable is a variable that references to a cursor . Different from implicit and explicit cursors, a cursor variable is not tied to any specific query . Meaning that a cursor variable can be opened for any query. The most important benefit of a cursor variable is that it enables passing the result of a query between PL/SQL programs. Without a cursor variable, you have to fetch all data from a cursor, store it in a variable e.g., a collection, and pass this variable as an argument. With a cursor variable, you simply pass the reference to that cursor. Starting from Oracle 9i, you can use SYS_REFCURSOR, which is a predefined weak typed REF CURSOR , to declare a weak REF CURSOR as follows: Eg: Declare C_Customer SYS_REFCURSOR; Requirement: Business will send us the Data in the .CSV file and we need to load in to the TEMP table(every time we have to create a new TEMP table and column structure and naming will be different). Using the TEMP table, we have to do a Join o