plsql - SYS_REFCURSOR changes to REF CURSOR automatically and gives error in oracle PL/SQL -


i have procedure in package prototype:

procedure simplesearch(p_keyword in  varchar2,                        p_events  out sys_refcursor); 

and in package body definition is:

procedure simplesearch(p_keyword in  varchar2,                        p_events  out sys_refcursor)       begin      open p_events             select *         event e, show s        s.eventid = e.id;    end simplesearch; 

and when run in debugging screen :

declare   p_keyword varchar2(200);   p_events  ref cursor; begin   p_keyword := 'r';    package1.simplesearch(      p_keyword => p_keyword,      p_events => p_events   );    -- dbms_output.put_line('p_events = ' || p_events);    :p_events := p_events; -- <-- cursor    --rollback;  end; 

and gives error pls-00201: identifier 'cursor' must declared

why cursor type changed ref cursor though declared sys_refcursor?

why want use refcursor store output of sys_refcursor. change calling block below , should work:

     declare        p_keyword varchar2(200);        p_events sys_refcursor ;      begin         p_keyword := 'r';           package1.simplesearch(                        p_keyword => p_keyword,                        p_events => p_events               );           /* legacy output:               dbms_output.put_line('p_events = ' || p_events);           */             -- :p_events := p_events; --<-- cursor              --rollback;           end;