A RECORD type defined in a PL/SQL block is a local type.
A RECORD type defined in a package is a public item.
You cannot create a RECORD type at schema level.
To define a RECORD type, specify its name and define its fields.
The following code defines a RECORD type named DeptRecType.
SQL> SQL> DECLARE-- ww w . ja v a 2 s. c o m 2 TYPE DeptRecType IS RECORD ( 3 dept_id NUMBER(4) NOT NULL := 10, 4 dept_name VARCHAR2(30) NOT NULL := 'Administration', 5 mgr_id NUMBER(6) := 200, 6 loc_id NUMBER(4) 7 ); 8 9 dept_rec DeptRecType; 10 dept_rec_2 dept_rec%TYPE; 11 BEGIN 12 DBMS_OUTPUT.PUT_LINE('dept_rec:'); 13 DBMS_OUTPUT.PUT_LINE('dept_id: ' || dept_rec.dept_id); 14 DBMS_OUTPUT.PUT_LINE('dept_name: ' || dept_rec.dept_name); 15 DBMS_OUTPUT.PUT_LINE('mgr_id: ' || dept_rec.mgr_id); 16 DBMS_OUTPUT.PUT_LINE('loc_id: ' || dept_rec.loc_id); 17 18 DBMS_OUTPUT.PUT_LINE('dept_rec_2:'); 19 DBMS_OUTPUT.PUT_LINE('dept_id: ' || dept_rec_2.dept_id); 20 DBMS_OUTPUT.PUT_LINE('dept_name: ' || dept_rec_2.dept_name); 21 DBMS_OUTPUT.PUT_LINE('mgr_id: ' || dept_rec_2.mgr_id); 22 DBMS_OUTPUT.PUT_LINE('loc_id: ' || dept_rec_2.loc_id); 23 END; 24 / dept_rec: dept_id: 10 dept_name: Administration mgr_id: 200 loc_id: dept_rec_2: dept_id: 10 dept_name: Administration mgr_id: 200 loc_id: PL/SQL procedure successfully completed. SQL>