Cursor Oracle PLSQL

SQL>
SQL> CREATE TABLE emp (
  2    id         NUMBER PRIMARY KEY,
  3    fname VARCHAR2(50),
  4    lname  VARCHAR2(50)
  5  );
Table created.
SQL>
SQL> INSERT INTO emp (id, fname, lname)VALUES (1, 'A', 'B');
1 row created.
SQL> INSERT INTO emp (id, fname, lname)VALUES (2, 'C', 'D');
1 row created.
SQL> INSERT INTO emp (id, fname, lname)VALUES (3, 'E', 'F');
1 row created.
SQL> INSERT INTO emp (id, fname, lname)VALUES (4, 'G', 'H');
1 row created.
SQL> INSERT INTO emp (id, fname, lname)VALUES (5, 'G', 'Z');
1 row created.
SQL>
SQL> SET SERVEROUTPUT ON ESCAPE OFF
SQL>
SQL> DECLARE
  2     v_emp emp%ROWTYPE;
  3
  4     CURSOR auth_cur IS SELECT * FROM emp;
  5  BEGIN
  6     OPEN auth_cur;
  7     LOOP
  8        FETCH auth_cur INTO v_emp;
  9        EXIT WHEN auth_cur%NOTFOUND;
 10
 11        DBMS_OUTPUT.PUT_LINE(v_emp.lname);
 12     END LOOP;
 13
 14     CLOSE auth_cur;
 15  END;
 16  /
B
D
F
H
Z
PL/SQL procedure successfully completed.
SQL>
SQL> drop table emp;
Table dropped.