RecordDataType_Info1.htm
 
In Oracle Table (not database table) and Records are composite data types, which means it is a combination of different scalar data types like char, varchar, number etc.  Each scalar data types in the record holds a value of a designated field/column.
Demo:

Declaring column/field with defined data-type, and which should be the same data type, used in the source (table). 

DECLARE
TYPE EmpRecTyp IS RECORD (
empno NUMBER(6),
esal NUMBER(8,2) );
PROCEDURE totalsal(emp_info EmpRecTyp) IS
BEGIN
UPDATE emp SET sal = sal + sal * .15
WHERE empno = emp_info.empno;
END totalsal;
BEGIN
NULL;
END;
/

Declaring fields to %type

DECLARE
TYPE EmpRecTyp IS RECORD (
empno emp.empno%type,
esal emp.sal%type );
PROCEDURE totalsal(emp_info EmpRecTyp) IS
BEGIN
UPDATE emp SET sal = sal + sal * .15
WHERE empno = emp_info.empno;
END totalsal;
BEGIN
NULL;
END;
/

SQL Syntax in the above scenario

SELECT col1, col2
INTO record_name.col_name1,record_name.col_name2
FROM table_name

[WHERE clause];

In case we need to use all the fields from the source table, we may declare the variable as shown below.

DECLARE
emp_rec emp%ROWTYPE;

Passing Vales to a field:

emp_info.empno:= value like 7521;