PL SQL Oracle PLSQL

SQL> create table emp(
  2           emp_id            integer         primary key
  3          ,lastname               varchar2(20)    not null
  4          ,firstname              varchar2(15)    not null
  5          ,midinit                varchar2(1)
  6          ,street                 varchar2(30)
  7          ,city                   varchar2(20)
  8          ,state                  varchar2(2)
  9          ,zip                    varchar2(5)
 10          ,shortZipCode           varchar2(4)
 11          ,area_code              varchar2(3)
 12          ,phone                  varchar2(8)
 13          ,company_name           varchar2(50));
Table created.
SQL>
SQL>
SQL> insert into emp(emp_id,lastname,firstname,midinit,street,city,state,zip,shortZipCode,area_code,phone,company_name)values
  2                      (1,'Jones','Joe','J','1 Ave','New York','NY','11202','1111','212', '221-4333','Big Company');
1 row created.
SQL> insert into emp(emp_id,lastname,firstname,midinit,street,city,state,zip,shortZipCode,area_code,phone,company_name)values
  2                      (2,'Smith','Sue','J','1 Street','New York','NY','11444','1111','212', '436-6773','Little Company');
1 row created.
SQL> insert into emp(emp_id,lastname,firstname,midinit,street,city,state,zip,shortZipCode,area_code,phone,company_name)values
  2                      (3,'X','Peggy','J','1 Drive','New York','NY','45502','2222','212', '234-4444','Medium Company');
1 row created.
SQL>
SQL> DECLARE
  2      Type rec_t is RECORD (emp_id  number,lastname varchar2(25),firstname varchar2(25) );
  3      Type tab_t is table of rec_t;
  4      tab  tab_t;
  5  BEGIN
  6      UPDATE emp
  7      SET area_code = '917'
  8      WHERE area_code = '212'
  9      RETURNING emp_id, lastname, firstname
 10      BULK COLLECT INTO tab;
 11      dbms_output.put_line(tab(1).lastname );
 12  END;
 13  /
Jones
PL/SQL procedure successfully completed.
SQL>
SQL> drop table emp;
Table dropped.