Oracle PL/SQL Records

·

PL/SQL Tables PL/SQL VarraysPL/SQL Nested Tables


A PL/SQL record is a collection of basic types of data and can be accessed as a single unit.

PL/SQL records are similar in structure to a row in a database table.

A record consists of components of any scalar, PL/SQL record, or PL/SQL table type.
It makes your life easier by transferring the entire row into a record, rather than transferring each column into a variable separately.

PL/SQL supports three kinds of records:


Important points on records

1.
Individual fields are referenced via dot notation:

record_name.field_name

Example:

Emp_rec.first_name

2.
Individual fields within a record can be read from or written to. They can appear on either the left or right side of the assignment operator:

BEGIN
policy_start_date:= new_emp_rec.hire_date + 30;
new_emp_rec.present:= FALSE;

3.
An entire record can be assigned to another record of the same type.

However the assignment can fail, if you do not conform to these rules:
  • Both cursor-based records in a collective assignment must be based on the same cursor.
  • Both table-based records in a collective assignment must be based on the same table.
  • Both programmer-defined records in a collective assignment must be based on the same TYPE...RECORD statement.
4.
Records cannot be compared, rather their field can be.

Live Traffic Feed

About this blog

Site Sponsors