%ROWTYPE is an attribute to inherit datatypes of attributes of a table into a RECORD variable.
TYPE RECORD is a keyword to create record type using either explicitly specifying attributes or by implecitly inheriting attributes from a table or an existing cursor.
% ROWTYPE is to be used whenever query returns an entire row of a table or view.
TYPE rec RECORD is to be used whenever query returns columns of different table or views and variables.
E.g. TYPE r_emp is RECORD (eno emp.empno% type,ename emp ename %type );
e_rec emp% ROWTYPE
cursor c1 is select empno,deptno from emp;
e_rec c1 %ROWTYPE.
One more point: When we have a variable of typer RECORD we have declare additional variables but with %rowtype, we can only have the fields that are present in the table.
%ROWTYPE application: The %ROWTYPE attribute helps in creating table and cursor based records. It is useful to retrieve an entire row from a table. If you do not use the %ROWTYPE datatype, then you have to declare variables for each column separately.
TYPE RECORD application: The data you use in Vision applications generally is in the form of standard Ingres character, numeric, date or money data types. However, you also can combine these data types to create your own data types, called record types.
A record type combines related components of data into a single value. Using a record type increases the efficiency and performance of your application by letting you retrieve, store, or pass multiple data items as a single item.
After you define a record type, you can use it in your application in various ways: