You can assign one record variable to another record variable if:
For record components of composite variables, the types of the composite variables need not match.
SQL> SQL> drop TABLE emp; SQL>-- w ww. j a va 2s . co m SQL> CREATE TABLE emp( 2 empid NUMBER(6), 3 first_name VARCHAR2(20), 4 last_name VARCHAR2(25)) ; SQL> SQL> DECLARE 2 TYPE name_rec IS RECORD ( 3 first emp.first_name%TYPE DEFAULT 'John', 4 last emp.last_name%TYPE DEFAULT 'Doe' 5 ); 6 7 name1 name_rec; 8 name2 name_rec; 9 10 BEGIN 11 name1.first := 'Jane'; name1.last := 'Smith'; 12 DBMS_OUTPUT.PUT_LINE('name1: ' || name1.first || ' ' || name1.last); 13 name2 := name1; 14 DBMS_OUTPUT.PUT_LINE('name2: ' || name2.first || ' ' || name2.last); 15 END; 16 / name1: Jane Smith name2: Jane Smith PL/SQL procedure successfully completed. SQL>