From within an SPL routine, you can use a ROW variable to update a row-type expression. Figure 419 shows an SPL procedure emp_raise that is used to update the emp_info table when an employee's base salary increases by a certain percentage.
CREATE PROCEDURE emp_raise( name VARCHAR(30),
pct DECIMAL(3,2) )
DEFINE row_var salary_t;
SELECT salary INTO row_var FROM emp_info
WHERE emp_name = name;
LET row_var.base = row_var.base * pct;
UPDATE emp_info SET salary = row_var
WHERE emp_name = name;
END PROCEDURE;The SELECT statement selects a row from the salary column of emp_info table into the ROW variable row_var.
The emp_raise procedure uses SPL dot notation to directly access the base field of the variable row_var. In this case, the dot notation means variable.field. The emp_raise procedure recalculates the value of row_var.base as (row_var.base * pct). The procedure then updates the salary column of the emp_info table with the new row_var value.