Cursor Oracle PLSQL Tutorial

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.