Mega Code Archive

 
Categories / Oracle PLSQL Tutorial / Cursor
 

An example of using SYS_REFCURSOR for cursor variable processing

SQL>  create table product(   2     product_id number(4)     not null,   3     product_description varchar2(20) not null   4  ); Table created. SQL> SQL> insert into product values (1,'Java'); 1 row created. SQL> insert into product values (2,'Oracle'); 1 row created. SQL> insert into product values (3,'C#'); 1 row created. SQL> insert into product values (4,'Javascript'); 1 row created. SQL> insert into product values (5,'Python'); 1 row created. SQL> SQL> DECLARE   2    refCursorValue SYS_REFCURSOR;   3    myRecord product%ROWTYPE;   4  BEGIN   5    OPEN refCursorValue FOR SELECT *from product;   6   7    LOOP   8      FETCH refCursorValue INTO myRecord;   9      EXIT WHEN refCursorValue%NOTFOUND;  10      dbms_output.put_line(to_char(myRecord.product_id)||' '||  11      rpad(myRecord.product_description,20,' '));  12    END LOOP;  13    CLOSE refCursorValue;  14  END;  15  / 1 Java 2 Oracle 3 C# 4 Javascript 5 Python PL/SQL procedure successfully completed. SQL> SQL> drop table product; Table dropped.