Home | Previous Page | Next Page   Creating and Using SPL Routines > Handling Row-Type Data (IDS) >

Updating a Row-Type Expression

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.

Figure 419.
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.

Important:
A row-type variable must be initialized as a row before its fields can be set or referenced. You can initialize a row-type variable with a SELECT INTO statement or LET statement.
Home | [ Top of Page | Previous Page | Next Page | Contents | Index ]