Composite Types
RECORD
PL/SQL-only type. Group of items, access using dot notation.
Example:
CREATE TABLE departments(
dept_id NUMBER NOT NULL PRIMARY KEY,
dept_name VARCHAR2(60));
DECLARE
TYPE emp_rec IS RECORD(emp_name VARCHAR2(60),
dept_id departments.dept_id%TYPE,
location VARCHAR2(10) DEFAULT 'CA');
l_emprec emp_rec;
BEGIN
l_emprec.emp_name := 'John';
l_emprec.dept_id := 10;
dbms_output.PUT_LINE('Employee name is ' || l_emprec.emp_name);
dbms_output.PUT_LINE('Employee location is ' || l_emprec.location);
END;
%ROWTYPE
Record based on table, view, and cursor.
Example:
CREATE TABLE departments(
dept_id NUMBER NOT NULL PRIMARY KEY,
dept_name VARCHAR2(60));
DECLARE
l_dept_rec departments%ROWTYPE;
BEGIN
l_dept_rec.dept_id = 10;
dbms_output.PUT_LINE('Department id is ' || l_dept_rec.dept_id);
END;