The following code assigns the value of one nested record to another nested record.
The nested records have the same RECORD type, but the records in which they are nested do not.
SQL> SQL> DECLARE-- from w ww .j a v a 2 s .c om 2 TYPE name_rec IS RECORD ( 3 first emp.first_name%TYPE, 4 last emp.last_name%TYPE 5 ); 6 7 TYPE phone_rec IS RECORD ( 8 name name_rec, -- nested record 9 phone emp.phone_number%TYPE 10 ); 11 12 TYPE email_rec IS RECORD ( 13 name name_rec, -- nested record 14 email emp.email%TYPE 15 ); 16 17 phone_contact phone_rec; 18 email_contact email_rec; 19 20 BEGIN 21 phone_contact.name.first := 'John'; 22 phone_contact.name.last := 'Smith'; 23 phone_contact.phone := '1-650-555-1234'; 24 25 email_contact.name := phone_contact.name; 26 email_contact.email := ( 27 email_contact.name.first || '.' || 28 email_contact.name.last || '@' || 29 'example.com' 30 ); 31 32 DBMS_OUTPUT.PUT_LINE (email_contact.email); 33 END; 34 / SQL>