Assigning values to a row variable can be done using the SET statement. A row value can be assigned to a row variable. A row field value or expression can be assigned to a row field.
Row values can be assigned to row variables using the SET statement if they are both of the same user-defined row data type.
SET empRow = newHire;
empRow.lastName /* VARCHAR(128) */
empRow.firstName /* VARCHAR(128) */
empRow.id /* VARCHAR(10) */
empRow.hireDate /* TIMESTAMP */
empRow.dept /* VARCHAR(3) */
newHire.lastName /* VARCHAR(128) */
newHire.firstName /* VARCHAR(128) */
newHire.id /* VARCHAR(10) */
newHire.hireDate /* TIMESTAMP */
newHire.dept /* VARCHAR(3) */
If you attempt
to assign a row value to a variable that does not have an identical
format an error will be raised. SET empRow.lastName = 'Brown'; // Literal value assignment
SET empRow.firstName = parmFirstName; // Parameter value of same type assignment
SET empRow.id = var1; // Local variable of same type assignment
SET empRow.hiredate = CURRENT_TIMESTAMP; // Special register expression assignment
SET empRow.dept = NULL; // NULL value assignment
Any supported field assignment can be used to initialize a row value.