A field of a row type is referenced using the field name qualified by a variable that returns a row type which includes a field with that field name, or an array element specification that returns a row type which includes a field with that field name.
field-reference |--+-row-variable-name---------------+--.field-name-------------| '-row-array-element-specification-'
CREATE OR REPLACE TYPE REC_TYPE AS ROW
(
ID INTEGER,
NAME VARCHAR(10)
)@
BEGIN
DECLARE NAME VARCHAR(10);
DECLARE TMPREC REC_TYPE;
SET NAME = TMPREC.NAME;
END @
CREATE OR REPLACE TYPE INNER_REC_TYPE AS ROW
(
ID INTEGER,
NAME VARCHAR(10)
)@
CREATE OR REPLACE TYPE REC_TYPE AS ROW
(
INNER_REC INNER_REC_TYPE
)@
CREATE OR REPLACE TYPE ARRAY_TYPE AS REC_TYPE ARRAY[INTEGER]@
BEGIN
DECLARE TMPRECORD INNER_REC_TYPE;
DECLARE TMPARRAY ARRAY_TYPE;
DECLARE NAME VARCHAR(10);
SET TMPRECORD = TMPARRAY[1].INNER_REC;
SET NAME = TMPRECORD.NAME;
END @