There is no difference between using a type declared as REF CURSOR and using SYS_REFCURSOR , because SYS_REFCURSOR is defined in the STANDARD package as a REF CURSOR in the same way that we declared the type ref_cursor . ... type sys_refcursor is ref cursor; SYS_REFCURSOR was introduced in Oracle 9i