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.