Types of records
There are three types of records: table based, cursor based, and programmer defined. You need not explicitly define table-based or cursor-based records, because they are implicitly defined with the same structure as a table or cursor. Variables of these types are declared via the %ROWTYPE attribute. The record’s fields correspond to the table’s columns or the columns in the select list.
On the other hand, programmer-defined records must be explicitly defined with the TYPE statement in the PL/SQL declaration section or in a package specification. Variables of this type can then be declared or used as part of another type:
DECLARE
TYPE name_rectype IS RECORD(
prefix VARCHAR2(15)
,first_name VARCHAR2(30)
,middle_name VARCHAR2(30)
,sur_name VARCHAR2(30)
,suffix VARCHAR2(10) );
-- Declare a variable of this type.
new_emp_rec name_rectype;
BEGIN